题意:
有 a个vanilla cookies 和 b个 chocolate cookies,以及n位Ⅰ类客人和m位Ⅱ类客人
·第Ⅰ类客人喜欢吃多的那种饼干
·第Ⅱ类客人喜欢吃少的那种饼干
问是否存在一种客人进场顺序使得所有的客人都能吃到饼干。
题解:
因为第Ⅱ类客人优先吃少地那一种饼干,所以第Ⅱ类客人最多吃 m i n ( a , b ) min(a,b) min(a,b)个饼干,如果满足不了第Ⅱ类客人那就不行,如果满足了第Ⅱ类客人,那就让第Ⅰ类客人开始吃,因为第Ⅰ类客人是交替地吃饼干,所以第一类客人最多可以把饼干吃完,判断第Ⅱ类客人满足后剩下的饼干是否够第Ⅰ类人吃就可以了
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll t,a,b,n,m;
int main(){
cin>>t;
while(t--){
cin>>a>>b>>n>>m;
if(m>min(a,b)) cout<<"No"<<endl;
else{
if(a+b-m < n) cout<<"No"<<endl;
else cout<<"Yes"<<endl;
}
}
}