总结
很经典的贪心问题,注意输出格式。
代码
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 10;
int len[maxn];
int m;
int main() {
int T;
cin >> T;
while(T--) {
int n;
cin >> n >> m;
for(int i = 0; i < n; i++)
cin >> len[i];
sort(len, len + n);
int left = 0;
int right = n - 1;
int ans = 0;
while(left <= right) {
if (len[left] + len[right] <= m) {
left++;
right--;
}
else right--;
ans++;
}
cout << ans << endl;
if (T) cout << endl;
}
return 0;
}
本文介绍了一个经典的贪心算法问题,通过实例详细展示了如何利用贪心策略解决特定类型的配对问题,并提供了完整的C++实现代码。
294

被折叠的 条评论
为什么被折叠?



