官方题解
2024-03-21 16:40:38
发布于:浙江
99阅读
0回复
0点赞
【算法分析】
将小码君可以摘到的苹果所需要的力气值存入数组 中,贪心策略是优先摘所需要的力气值小的苹果。
【参考代码】
#include <iostream>
#include <algorithm>
using namespace std;
int tmp[5010]; //可以摘到苹果需要的力气
int main() {
int n, k, a, b; //苹果数 力气 椅子的高度 小码君手伸直最大的高度
cin >> n >> k;
cin >> a >> b;
int cnt = 0, t = 0;
for (int i = 1; i <= n; i++) {
int c, d;
cin >> c >> d; //高度、力气
if (c <= a + b) { //小码君可以摘到的苹果
tmp[++cnt] = d;
}
}
sort(tmp + 1, tmp + cnt + 1);
for (int i = 1; i <= cnt; i++) {
if (k - tmp[i] < 0) break;
k -= tmp[i];
t++;
}
cout << t;
return 0;
}
【时间复杂度】
【预计得分】
这里空空如也
有帮助,赞一个