Submission #1034638

#TimeUsernameProblemLanguageResultExecution timeMemory
1034638juicyRemittance (JOI19_remittance)C++17
100 / 100
163 ms36448 KiB
#include <bits/stdc++.h>

using namespace std;

#ifdef LOCAL
#include "debug.h"
#else
#define debug(...) 42
#endif

int main() {
  ios::sync_with_stdio(false); cin.tie(nullptr);

  int N; cin >> N;
  vector<long long> A(N), B(N);
  for (int i = 0; i < N; ++i) {
    cin >> A[i] >> B[i];
  }
  if (*max_element(A.begin(), A.end()) == 0) {
    cout << (*max_element(B.begin(), B.end()) == 0 ? "Yes" : "No");
    exit(0);
  }
  bool flg = 1;
  while (flg) {
    flg = 0;
    for (int i = 0; i < N; ++i) {
      if (A[i] > max(B[i], 1LL)) {
        long long cnt = max(1LL, (A[i] - B[i]) / 2);
        A[i] -= cnt * 2;
        A[(i + 1) % N] += cnt;
        flg = 1;
      }
    }
  }
  bool res = 1;
  for (int i = 0; i < N; ++i) {
    res &= A[i] == B[i];
  }
  cout << (res ? "Yes" : "No");
  return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...