Submission #502941

#TimeUsernameProblemLanguageResultExecution timeMemory
502941tengiz05Remittance (JOI19_remittance)C++17
55 / 100
1020 ms9324 KiB
#include <bits/stdc++.h> using i64 = long long; int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int n; std::cin >> n; std::vector<int> a(n), b(n); for (int i = 0; i < n; i++) { std::cin >> a[i] >> b[i]; } std::function<void()> dfs = [&]() { for (int _ = 0; _ < 500; _++) { int p = 0; for (int i = 0; i < n; i++) { int j = (p + 1) % n; int d = a[p] - b[p]; if (d <= 0) { p = j; continue; } if (d == 1 && a[p] > 1) { d++; } d /= 2; a[p] -= 2 * d; a[j] += d; p = j; } if (a == b) { std::cout << "Yes\n"; std::exit(0); } int good = 0; for (int i = 0; i < n; i++) { good += a[i] > b[i]; } if (!good) { std::cout << "No\n"; std::exit(0); } } std::cout << "No\n"; std::exit(0); }; dfs(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...