Submission #1152839

#TimeUsernameProblemLanguageResultExecution timeMemory
1152839Hamed_GhaffariRemittance (JOI19_remittance)C++20
100 / 100
125 ms16168 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; const int MXN = 1e6+6; int n; ll A[MXN], B[MXN]; int32_t main() { cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(0); cin >> n; for(int i=0; i<n; i++) cin >> A[i] >> B[i]; int i=0, it=0; while(it<n) { if(A[i]<=B[i] || (A[i]==1 && B[i]==0)) { it++; (++i) %= n; continue; } it=0; int j=i; while(A[j]>B[j] && !(A[j]==1 && B[j]==0)) { ll send = (A[j]-B[j]+(B[j]!=0))>>1; A[j] -= send<<1; A[(++j)%=n] += send; } } for(int i=0; i<n; i++) if(A[i]!=B[i]) { cout << "No\n"; return 0; } cout << "Yes\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...