Submission #163913

#TimeUsernameProblemLanguageResultExecution timeMemory
163913maruiiRemittance (JOI19_remittance)C++14
0 / 100
2 ms376 KiB
#include <bits/stdc++.h> using namespace std; using pii = pair<int, int>; #define ff first #define ss second int N, A[1000006]; set<pii> s; int main() { ios_base::sync_with_stdio(0), cin.tie(0); cin >> N; for (int i = 1; i <= N; ++i) { int x; cin >> A[i] >> x; A[i] -= x; s.insert(pii(A[i], i)); } while (1) { auto t = (--s.end())->ss; if (A[t] < 2) break; while (A[t] > 1) { s.erase(pii(A[t], t)); s.erase(pii(A[t % N + 1], t % N + 1)); int a = A[t] / 2; A[t] -= a * 2; A[t % N + 1] += a; s.insert(pii(A[t], t)); s.insert(pii(A[t % N + 1], t % N + 1)); t = t % N + 1; } } int flag = 0; for (int i = 1; i <= N; ++i) if (A[i]) flag = 1; if (flag) puts("No"); else puts("Yes"); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...