Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 735 Accepted Submission(s):
369
Problem Description
#include<algorithm> #include<iostream> #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> using namespace std; struct node{ int r, e, l; }p[1000005]; bool cmp(node a, node b){ return a.e < b.e; } int main() { int t, n, i; scanf("%d",&t); int cas = 1; while(t--) { scanf("%d",&n); for(i = 0; i < n; i++){ scanf("%d%d%d",&p[i].r,&p[i].e,&p[i].l); } sort(p, p+n, cmp); int sum = 0, flag = 0; for(i = 0; i < n; i++) { sum += p[i].r; if(sum > p[i].e){ flag = 1; break; } sum += p[i].l; } if(flag) printf("Case #%d: NO\n",cas++); else printf("Case #%d: YES\n",cas++); } return 0; }
原文:http://www.cnblogs.com/acm31415/p/4783924.html