Submission #1204272

#TimeUsernameProblemLanguageResultExecution timeMemory
1204272am_aadvikRemittance (JOI19_remittance)C++20
0 / 100
0 ms780 KiB
#include <iostream>
#include<vector>
using namespace std;

int main() {
    int n, mx = 0; cin >> n;
    vector<int> a(n), b(n);
    for (int i = 0; i < n; mx = max(mx, b[i]), ++i)
        cin >> a[i] >> b[i];
    for (int v = 0; v <= mx; ++v) {
        int x = v; bool ok = 1, mc = 0;
        for (int i = 1; i < n; ++i) {
            int sub = a[i] + x - b[i];
            if ((sub < 0) || (sub % 2)) { ok = 0; break; }
            x = sub / 2, mc |= (sub <= (a[i] + a[i - 1]));
        }
        if (!(mc || ((v + v) <= (a[0] + a[n - 1])))) continue;
        if (ok && ((a[0] + x - v - v) == b[0])) { cout << "Yes"; return 0; }
    }
    cout << "No";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...