Submission #384156

#TimeUsernameProblemLanguageResultExecution timeMemory
384156valerikkRemittance (JOI19_remittance)C++17
55 / 100
1086 ms35564 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main() {
#ifdef LOCAL
    freopen("input.txt", "r", stdin);
#endif
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n;
    cin >> n;
    vector<ll> a(n), b(n);
    for (int i = 0; i < n; i++) cin >> a[i] >> b[i];
    while (true) {
        bool ok = 0;
        for (int i = 0; i < n; i++) {
            if (a[i] > b[i] + 1) ok = 1;
        }
        if (!ok) break;
        for (int i = 0; i < n; i++) {
            if (a[i] > b[i] + 1) {
                ll x = (a[i] - b[i]) / 2;
                a[(i + 1) % n] += x;
                a[i] -= 2 * x;
            }
        }
    }
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            if (a[j] >= 2 && a[j] > b[j]) {
                a[j] -= 2;
                a[(j + 1) % n] += 1;
            }
        }
    }
    if (a == b) cout << "Yes" << endl; 
    else cout << "No" << endl;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...