This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int main(){
    ios_base::sync_with_stdio(0); cin.tie(0);
    int n; cin >> n; vector<int> a(n), b(n);
    for(int i=0; i < n; i++) cin >> a[i] >> b[i];
    if(*max_element(b.begin(), b.end())==0) {
        cout << (*max_element(a.begin(), a.end())==0?"Yes":"No")<< "\n"; return 0;
    }
    int g = 1;
    while(g){
        g=0;
        for(int i=0; i < n; i++){
            if(a[i] > b[i]){
                a[(i+1)%n] += (a[i] - b[i] + 1)/2;
                a[i] -= (a[i]-b[i]+1)/2*2;
                g=1;
            }
        }
    }
    g=1;
    for(int i=0; i < n; i++){
        g &= a[i] == b[i];
    }
    cout << (g?"Yes":"No") << "\n";
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |