Submission #331478

#TimeUsernameProblemLanguageResultExecution timeMemory
331478retsigerRemittance (JOI19_remittance)C++14
100 / 100
273 ms36460 KiB
#include<bits/stdc++.h>

using namespace std;
using ll = long long;

int main() {
    ios::sync_with_stdio(0); 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];
    }
    bool T1 = 1, T2 = 0;
    for (int i = 0; i < N; ++i) T2 |= (B[i] > 0);
    if (!T2) {
        for (int i = 0; i < N; ++i) T1 &= (A[i] == 0);
    } else {
        bool con = 1;
        while (con) {
            con = 0;
            for (int i = 0; i < N; ++i) {
                if (A[i] > B[i]) {
                    ll tmp = (A[i] - B[i] + 1) / 2;
                    A[i] -= 2 * tmp;
                    A[(i + 1) % N] += tmp;
                    con = 1;
                }
            }
        }
        for (int i = 0; i < N; ++i) T1 &= (A[i] == B[i]);
    }
    cout << (T1 ? "Yes" : "No");
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...