Submission #532724

#TimeUsernameProblemLanguageResultExecution timeMemory
532724Alex_tz307Remittance (JOI19_remittance)C++17
100 / 100
428 ms28500 KiB
#include <bits/stdc++.h>

using namespace std;

void testCase() {
  int n;
  cin >> n;
  vector<int> a(n), b(n);
  for (int i = 0; i < n; ++i) {
    cin >> a[i] >> b[i];
  }
  for (int rep = 0; rep < 32; ++rep) {
    for (int i = 0; i < n; ++i) {
      if (b[i] < a[i]) {
        int send = (a[i] - b[i] + 1) / 2;
        if (a[i] < 2 * send) {
          send -= 1;
        }
        a[i] -= 2 * send;
        a[(i + 1) % n] += send;
      }
    }
  }
  for (int i = 0; i < n; ++i) {
    if (a[i] != b[i]) {
      cout << "No\n";
      return;
    }
  }
  cout << "Yes\n";
}

int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  int tests = 1;
  for (int tc = 0; tc < tests; ++tc) {
    testCase();
  }
  return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...