题意: 解法: 模拟即可: 前三种垃圾只能放到前三种桶, 然后桶1只能接收垃圾4,桶2只能接收垃圾5,因此向桶1和桶2分别放垃圾4和垃圾5, 最后判断垃圾3还能不能放下剩余的即可. code: #include <bits/stdc++.h> #define int long long using namespace std; const int maxm=3e5+5; int a[maxm]; int c[maxm]; void solve(){ for(int i=1;i<=3;i++){ cin>>c[i]; } for(int i=1;i<=5;i++){ cin>>a[i]; } for(int i=1;i<=3;i++){ c[i]-=a[i]; if(c[i]<0){ cout<<"NO"<<endl; return ; } } a[4]=max(0LL,a[4]-c[1]); a[5]=max(0LL,a[5]-c[2]); if(a[4]+a[5]>c[3]){ cout<<"NO"<<endl; }else{ cout<<"YES"<<endl; } } signed main(){ ios::sync_with_stdio(0); int T;cin>>T; while(T--){ solve(); } return 0; }