#include<iostream> #include<algorithm> #include<string> using namespace std; int m,n; struct stu{ int have; int need; int lack; }; bool cmp(stu a,stu b) { return a.lack<b.lack; } int main() { cin>>m; stu s[10005]; while(m--) { cin>>n; for(int i=0;i<n;i++) { cin>>s[i].have>>s[i].need; s[i].lack=s[i].need-s[i].have; } sort(s,s+n,cmp); int sum=0; int flag=1; for(int i=0;i<n;i++) { if(s[i].lack<=0)//不缺 sum+=s[i].have; else { if(sum+s[i].have>=s[i].need)//正好 { sum+=s[i].have; } else flag=0; } } if(flag==0) cout<<"NO"<<endl; else cout<<"YES"<<endl; } return 0; }
错误的:
#include<iostream> #include<algorithm> #include<string> using namespace std; int main() { int m; cin>>m; int a[10005]; int sum[10005]; while(m--) { int n; cin>>n; int flag=0; int temp=0; for(int i=0;i<n;i++) { cin>>a[i]; cin>>sum[i]; } for(int i=0;i<n;i++) { if(a[i]==sum[i]) { temp=a[i]; flag++; } else if(a[i]<sum[i]) { if(a[i]+temp>=sum[i]) flag++; } } if(flag==n) cout<<"YES"<<endl; else cout<<"NO"<<endl; } return 0; }
0.0分
0 人评分
简洁的代码浏览:1474 |
九宫重排 (C++代码)浏览:1410 |
【蟠桃记】 (C语言代码)浏览:711 |
分糖果 (C++代码)浏览:1537 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:998 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:287 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:1110 |
出圈】指针malloc版浏览:377 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:569 |
字符串的输入输出处理 (C语言代码)浏览:1085 |