ACM模版

描述

题解

排序然后首尾配对查找,记录配成的对儿数即可。

代码

#include <iostream>
#include <algorithm>
#include <cstdio>

typedef long long ll;

using namespace std;

const int MAXN = 1e4 + 10;

ll M[MAXN];

int main(int argc, const char * argv[])
{
    int n, m;
    cin >> n >> m;

    for (int i = 0; i < n; i++)
    {
        scanf("%lld", M + i);
    }

    sort(M, M + n);

    int res = 0;
    int flag = 0;
    for (int i = n - 1; i >= flag; i--)
    {
        if (M[i] + M[flag] <= m)
        {
            flag++;
        }
        res++;
    }

    std::cout << res << '\n';
    return 0;
}