Submission #564149

#TimeUsernameProblemLanguageResultExecution timeMemory
5641494fectaRemittance (JOI19_remittance)C++17
0 / 100
17 ms16084 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define int ll #define ld long double #define pii pair<int, int> #define f first #define s second #define boost() cin.tie(0), cin.sync_with_stdio(0) const int MN = 1000005; int n; pii a[MN * 2]; int32_t main() { boost(); cin >> n; for (int i = 0; i < n; i++) cin >> a[i].f >> a[i].s; for (int i = 0; i < MN; i++) { if (a[i].s > a[i].f) { int d = a[i].s - a[i].f; a[i].s -= d; a[i + n].s += d; } int d = a[i].f - a[i].s; int tk = min(a[i].f / 2, (d + 1) / 2); a[i].f -= tk * 2; a[i + 1].f += tk; if (a[i].s > a[i].f) { int d = a[i].s - a[i].f; a[i].s -= d; a[i + n].s += d; } if (a[i].f > a[i].s) { int d = a[i].f - a[i].s; a[i].f -= d; a[i + n].f += d; } } for (int i = 0; i < MN * 2; i++) { assert(a[i].f >= 0 && a[i].s >= 0); if (a[i].f < a[i].s) return 0 * printf("No\n"); } printf("Yes\n"); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...