Submission #514925

#TimeUsernameProblemLanguageResultExecution timeMemory
514925Abrar_Al_SamitRemittance (JOI19_remittance)C++17
0 / 100
0 ms204 KiB
#include<bits/stdc++.h> using namespace std; void PlayGround() { int n; cin >> n; long long a[n], b[n]; for(int i=0; i<n; ++i) { cin >> a[i] >> b[i]; } for(int st=0; st<n; ++st) { long long have[n]; for(int i=0; i<n; ++i) { have[i] = a[i]; } int lastRem = -1; int now = 0; int v = st; while(1) { long long can = max(0LL, have[v]-b[v]); if(can&1) --can; if(can) { lastRem = now; } else { if(now-lastRem==n) break; } ++now; have[v] -= can; can /= 2; have[(v+1)%n] += can; v = (v+1)%n; } bool ok = 1; for(int i=0; i<n; ++i) { ok &= have[i]==b[i]; } if(ok) { cout << "Yes\n"; return; } } cout << "No\n"; //O(N^2logN) // cerr << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n"; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); PlayGround(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...