Submission #1101280

#TimeUsernameProblemLanguageResultExecution timeMemory
1101280IBoryRemittance (JOI19_remittance)C++17
100 / 100
192 ms36432 KiB
#include <bits/stdc++.h> typedef long long ll; using namespace std; const int MAX = 1000007; ll A[MAX], B[MAX]; int main() { ios::sync_with_stdio(0); cin.tie(0); int N; cin >> N; for (int i = 0; i < N; ++i) cin >> A[i] >> B[i]; // Modify if N is small // if (N <= 60) { // ll mod = (1LL << N); // for (int i = 0; i < N; ++i) { // if (A[i] <= B[i]) continue; // ll n = A[i] - B[i], t = 0; // while (n) { // t += n % mod; // n /= mod; // } // A[i] = B[i] + t; // } // } for (int t = 0; t < 30; ++t) { for (int i = 0; i < N; ++i) { if (A[i] <= B[i]) continue; ll z = A[i] - B[i]; if (z % 2 && B[i]) z++; A[i] -= z / 2LL * 2; A[(i + 1) % N] += z / 2LL; } } for (int i = 0; i < N; ++i) { if (A[i] == B[i]) continue; cout << "No"; return 0; } cout << "Yes"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...