이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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; _ < 300; _++) {
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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |