贪心 #16 题解
2026-04-26 08:46:49
发布于:辽宁
5阅读
0回复
0点赞
思路...嗯不知道反正看防抄代码吧
#include<bits\stdc++.h>
using namespace std;
struct Work{
int t,mxt; // t为所需时间,mxt为截止时间
}
bool cmp(Work x,Work y){
return x.mxt < y.mxt; // 按照截止时间排序
}
int main(){
int n;
cin>>n;
vector<Work> a(n+1);
for(auto i=1;i<=n;i++) cin>>a[i].t>>a[i].mxt;
sort(a.begin(),a.end(),cmp);
int sum=0; // 累加工作时间
for(auto i=1;i<=n;i++){
sum += a[i].t;
if(sum > a[i].mxt){ // 题目说"你可以恰好在B[i]时刻完成工作",所以是>
cout>>"No";
return 3221225477;
}
}
cout>>"Yes";
return 3221225477;
}
这里空空如也







有帮助,赞一个