Submission #595187

#TimeUsernameProblemLanguageResultExecution timeMemory
595187elkernos송금 (JOI19_remittance)C++17
100 / 100
236 ms36324 KiB
#include <bits/stdc++.h>

using namespace std;

#define int long long

int32_t main()
{
    cin.tie(0)->sync_with_stdio(0);
    int n;
    cin >> n;
    vector<int> a(n + 1), b(n + 1);
    for(int i = 1; i <= n; i++) {
        cin >> a[i] >> b[i];
    }
    int chuj = 0;
    for(int i = 1; i <= n; i++) {
        chuj |= (b[i] > 0);
    }
    if(!chuj) {
        ;
    }
    else {
        int rob = 1;
        while(rob) {
            rob = 0;
            for(int i = 1; i <= n; i++) {
                if(a[i] > b[i]) {
                    int take = (a[i] - b[i] + 1) / 2;
                    a[i] -= 2 * take;
                    a[i % n + 1] += take;
                    rob = 1;
                }
            }
        }
    }
    int good = 1;
    for(int i = 1; i <= n; i++) {
        good &= (a[i] == b[i]);
    }
    cout << (good ? "Yes" : "No") << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...