Submission #495552

#TimeUsernameProblemLanguageResultExecution timeMemory
495552600MihneaRemittance (JOI19_remittance)C++17
100 / 100
236 ms16928 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) {
        if (a[i] - (extra + 1) / 2 * 2 >= 0) {
          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...