#include <bits/stdc++.h>
using namespace std;
int a[100005];
int ans = 0;
int n;
int t;
int main() {
scanf("%d%d", &n, &t);
for (int i = 1; i <= n; i++) {
scanf("%d", &a[i]);
}
sort(a + 1, a + n + 1);//排序
int left = 1;//左指针指向最轻的人
int right = n;//右指针指向最重的人
while (left < right) {//直到指针重合
if (a[left] + a[right] <= t) {//如果可以配对
ans++;//用一辆车
left++;//左加
right--;//右减
} else {//如果不能配对
ans++;//给体重重的单独配一辆车
right--;//右减
}
}
if (right == left) ans++;//如果最后剩一个人,单独用一辆车
cout << ans;
return 0;
}
评论区