Submission #1145560

#TimeUsernameProblemLanguageResultExecution timeMemory
1145560hirayuu_ojRemittance (JOI19_remittance)C++20
0 / 100
0 ms328 KiB
#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0; i<(n); i++)
#define rrep(i,n) for(int i=(n)-1; i>=0; i--)
#define rng(i,l,r) for(int i=(l); i<(r); i++)
#define all(x) x.begin(),x.end()
#define fi first
#define se second
using ll=long long;

int main(){
    ios::sync_with_stdio(false);cin.tie(nullptr);
    int N;cin>>N;
    vector<pair<ll,ll>> money(N);
    rep(i,N)cin>>money[i].fi>>money[i].se;
    rep(send,100){
        bool ok=true;
        vector<ll> sends(N);
        sends[0]=send;
        rng(i,1,N){
            if((money[i].fi-money[i].se+sends[i-1])<0){
                ok=false;
            }
            if((money[i].fi-money[i].se+sends[i-1])%2==1){
                ok=false;
            }
            sends[i]=(money[i].fi-money[i].se+sends[i-1])/2;
        }
        if(money[0].fi+sends.back()-sends[0]*2!=money[0].se){
            ok=false;
        }
        bool flg=false;
        rep(i,N){
            if(money[i].fi-sends[i]*2>=0)flg=true;
        }
        if(!flg)ok=false;
        if(ok){
            cout<<"Yes\n";
            return 0;
        }
    }cout<<"No\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...