秒了
2024-06-03 12:51:33
发布于:广东
60阅读
0回复
0点赞
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct Apple {
int height, qe;
};
bool rt(const Apple& a, const Apple& b) {
return a.qe < b.qe; // 按力气需求升序排序
}
int mx(int n, int s, int a, int b, vector<Apple>& apples) {
sort(apples.begin(), apples.end(), rt); // 排序苹果
int count = 0; // 计数器,记录能摘到的苹果数
for (const auto& apple : apples) {
if (s >= apple.qe) { // 检查是否有足够的力气摘这个苹果
if (apple.height <= b || (apple.height - a) <= b) { // 检查苹果是否可触及
s -= apple.qe; // 消耗力气
count++; // 增加计数
}
} else {
break; // 力气用完,停止摘取
}
}
return count;
}
int main() {
int n, s, a, b;
cin >> n >> s >> a >> b; // 输入苹果数,力气,椅子高度,手臂长度
vector<Apple> apples(n);
for (int i = 0; i < n; ++i) {
cin >> apples[i].height >> apples[i].qe; // 输入每个苹果的高度和摘取所需力气
}
cout << mx(n, s, a, b, apples) << endl; // 输出结果
return 0;
}
全部评论 1
Journey哈哈哈哈哈。
2024-06-22 来自 广东
0
有帮助,赞一个