贪心+排序
2026-04-18 13:36:33
发布于:北京
1阅读
0回复
0点赞
先按照结束时间排序,在进行判断,上代码!
#include <bits/stdc++.h>
using namespace std ;
const int N = 1e6 ;
struct node {
int a , b ;
}s[N];
bool cmp(node x , node y) {
return x.b < y.b ;
}
int main () {
int n ;
cin >> n ;
for(int i = 1 ; i <= n ; i++) cin >> s[i].a >> s[i].b ;
sort(s + 1 , s + 1 + n , cmp) ;
int sum = 0 ;
for(int i = 1 ; i <= n ; i++) {
sum += s[i].a ;
if(sum <= s[i].b) continue ;
else {
cout << "No" ;
return 0 ;
}
}
cout << "Yes" ;
return 0 ;
}
这里空空如也

有帮助,赞一个