Submission #456195

#TimeUsernameProblemLanguageResultExecution timeMemory
456195arminatarodRemittance (JOI19_remittance)C++17
100 / 100
292 ms28612 KiB
#include <bits/stdc++.h>

using namespace std;

constexpr int MAXN = 1000005;

constexpr int MAXINT = 1073741823;

int a[MAXN], b[MAXN];

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	int n, to_move;
	bool changed = true, isnt;
	cin >> n;
	for (int i = 0; i < n; i++)
		cin >> a[i] >> b[i];
	while (changed) {
		changed = false;
		for (int i = 0; i < n; i++) {
			if (a[i] <= b[i])
				continue;
			to_move = (b[i] == 0? a[i] / 2 : (a[i] - b[i] + 1) / 2);
			a[i] -= 2 * to_move;
			a[(i + 1) % n] += to_move;
			if (to_move > 0)
				changed = true;
		}
	}
	isnt = false;
	for (int i = 0; i < n; i++)
		if (a[i] != b[i])
			isnt = true;
	cout << (isnt? "No" : "Yes");
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...