Submission #747606

#TimeUsernameProblemLanguageResultExecution timeMemory
747606stevancvRemittance (JOI19_remittance)C++14
100 / 100
485 ms36448 KiB
#include <bits/stdc++.h> #define ll long long #define ld long double #define sp ' ' #define en '\n' #define smin(a, b) a = min(a, b) #define smax(a, b) a = max(a, b) using namespace std; const int N = 1e6 + 2; const int inf = 1e9; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin >> n; vector<ll> a(n), b(n); for (int i = 0; i < n; i++) cin >> a[i] >> b[i]; for (int zz = 0; zz < 50; zz++) { for (int i = 0; i < n; i++) { if (a[i] > b[i]) { ll c = (a[i] - b[i]) / 2; a[(i + 1) % n] += c; a[i] -= 2 * c; } } } int ok = 1; for (int i = 0; i < n; i++) ok &= (a[i] == b[i]); if (ok == 1) { cout << "Yes" << en; return 0; } ok = 1; for (int i = 0; i < n; i++) ok &= (a[i] == (b[i] + 1)); if (ok == 0) { cout << "No" << en; return 0; } for (int i = 0; i < n; i++) if (b[i] > 0) { cout << "Yes" << en; return 0; } cout << "No" << en; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...