Submission #1190538

#TimeUsernameProblemLanguageResultExecution timeMemory
1190538UnforgettableplBring Down the Grading Server (CEOI23_gradingserver)C++20
0 / 100
4091 ms1188 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...