Submission #495551

#TimeUsernameProblemLanguageResultExecution timeMemory
495551600MihneaRemittance (JOI19_remittance)C++17
0 / 100
1 ms332 KiB
#include <bits/stdc++.h>

using namespace std;

#define int long long

const int N = (int) 1e6 + 7;
int n;
int a[N];
int b[N];

signed main() {
  ios::sync_with_stdio(0); cin.tie(0);

  //freopen ("input", "r", stdin);

  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> a[i] >> b[i];
  }

  while (true) {
    bool change = false;
    for (int i = 0; i < n; i++) {
      int j = (i + 1) % n;
      int extra = a[i] - b[i];
      if (extra >= 1 && a[i] >= 2) {
        change = true;
        a[i] -= (extra + 1) / 2 * 2;
        a[j] += (extra + 1) / 2;
      }
    }
    if (!change) {
      break;
    }
  }

  for (int i = 0; i < n; i++) {
    if (a[i] != b[i]) {
      cout << "No\n";
      exit(0);
    }
  }

  cout << "Yes\n";




  return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...