c++
2025-07-09 20:10:19
发布于:浙江
1阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int w, n;
int P[30005];
int main() {
cin >> w >> n;
for (int i = 0; i < n; i++) {
cin >> P[i];
}
sort(P, P + n);
int left = 0, right = n - 1;
int groups = 0;
while (left <= right) {
if (P[left] + P[right] <= w) {
// 可以配对
left++;
right--;
groups++;
} else {
// 不可配对,大的单独一组
right--;
groups++;
}
}
cout << groups << endl;
return 0;
}
这里空空如也
有帮助,赞一个