#include <bits/stdc++.h>
using namespace std;
#define int long long
int32_t main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int S,Q;
cin >> S >> Q;
for(int i=1;i<=Q;i++){
int cH,fH,cG,fG;
cin >> cH >> fH >> cG >> fG;
bool works = false;
for(int f=0;f<=fG;f++){
bool canWin = true;
for(int s=0;s<=fH;s++){
int eH = cH - fG*S + f*S;
int eG = cG - fH*S + s*S;
if(eG<0)continue;
if(eH<0){
canWin = false;
break;
}
if(f<s){
eG-=eH*(s-f);
} else {
eH-=eG*(f-s);
}
if(eG<0)continue;
if(eH<0){
canWin = false;
break;
}
bool turn = false;
while(true){
if(eG<=eH){
// Hacker wins
if(turn){
canWin = false;
}
break;
}
if(eH*2ll<=eG){
if(!turn){
canWin=false;
}
break;
}
eG-=eH;
swap(eG,eH);
turn = !turn;
}
}
if(canWin)works=true;
}
if(works)cout<<"YES\n";
else cout << "NO\n";
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |