Submission #514923

# Submission time Handle Problem Language Result Execution time Memory
514923 2022-01-18T19:50:25 Z Abrar_Al_Samit Remittance (JOI19_remittance) C++17
0 / 100
1 ms 460 KB
#include<bits/stdc++.h>
using namespace std;

void PlayGround() {
	int n;
	cin >> n;
	long long a[n], b[n];
	for(int i=0; i<n; ++i) {
		cin >> a[i] >> b[i];
	}
	for(int st=0; st<n; ++st) {
		long long have[n];
		for(int i=0; i<n; ++i) {
			have[i] = a[i];
		}
		queue<bool>remittance;
		int v = st;
		while(1) {
			long long can = max(0LL, have[v]-b[v]);
			if(can&1) --can;
			remittance.push(can!=0);
			if(remittance.size()==n) {
				while(remittance.front()==0) {
					remittance.pop();
				}
			}
			if(remittance.empty()) break;
			have[v] -= can;
			can /= 2;
			have[(v+1)%n] += can;
			v = (v+1)%n;
		}
		bool ok = 1;
		for(int i=0; i<n; ++i) {
			ok &= have[i]==b[i];
		}
		if(ok) {
			cout << "Yes\n";
			return;
		}
	}
	cout << "No\n";

	//O(N^2logN)

	// cerr << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n";
}
int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	PlayGround();
	return 0;
}

Compilation message

remittance.cpp: In function 'void PlayGround()':
remittance.cpp:22:24: warning: comparison of integer expressions of different signedness: 'std::queue<bool>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   22 |    if(remittance.size()==n) {
      |       ~~~~~~~~~~~~~~~~~^~~
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 460 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 460 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 460 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -