Submission #431649

#TimeUsernameProblemLanguageResultExecution timeMemory
431649kostia244Remittance (JOI19_remittance)C++17
0 / 100
1 ms332 KiB
#include<bits/stdc++.h> using namespace std; const int N = 1e6 + 16; int n, a[N], b[N]; queue<int> q; void add(int i, int x) { a[i] += x; if(a[i] > b[i]+1) q.push(i); } int main() { cin.tie(0)->sync_with_stdio(0); cin >> n; for(int i = 0; i < n; i++) { cin >> a[i] >> b[i]; if(a[i] > b[i]) q.push(i); } while(!q.empty()) { int v = q.front(); q.pop(); if(a[v] == b[v]) continue; add((v+1)%n, (a[v]-b[v])/2); a[v] -= 2*((a[v]-b[v])/2); } int ok = 1; for(int i = 0; i < n; i++) ok &= a[i] == b[i]; cout << (ok?"Yes":"No") << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...