最快的程序不信你试试没人比这块
2025-08-29 19:00:35
发布于:江苏
4阅读
0回复
0点赞
#include <vector>
#include <algorithm> // 用于sort排序
using namespace std;
int main() {
ios::sync_with_stdio(false); // 关闭同步,加速输入输出
cin.tie(nullptr); // 解除cin与cout的绑定,进一步提速
int T;
cin >> T;
while (T--) {
int s, n;
cin >> s >> n;
// 存储龙的力量值(x)和击败奖励(y),用pair<int, int>直接关联
vector<pair<int, int>> dragons(n);
for (int i = 0; i < n; ++i) {
cin >> dragons[i].first >> dragons[i].second;
}
// 按龙的力量值(x)从小到大排序(pair默认按first排序)
sort(dragons.begin(), dragons.end());
bool can_win = true;
for (const auto& dragon : dragons) {
int dragon_power = dragon.first;
int reward = dragon.second;
// 若当前力量不足以击败该龙,直接失败
if (s <= dragon_power) {
can_win = false;
break; // 后续龙更强,无需继续判断
}
// 击败龙,获取奖励,更新自身力量
s += reward;
}
// 输出结果
cout << (can_win ? "YES" : "NO") << '\n'; // 用'\n'代替endl,减少刷新开销
}
return 0;
}
全部评论 2
对比看一下吧
1周前 来自 江苏
01周前 来自 江苏
0
有帮助,赞一个