Submission #200795

#TimeUsernameProblemLanguageResultExecution timeMemory
200795dennisstarRemittance (JOI19_remittance)C++17
100 / 100
581 ms12408 KiB
#include <cstdio>
int N, A[1<<20], B[1<<20], D[1<<20];
int main() {
	scanf("%d", &N);
	for (int i=0; i<N; i++) scanf("%d %d", &A[i], &B[i]), D[i]=A[i]-B[i];
	for (int p=0; p<32; p++) for (int i=0; i<N; i++) if (D[i]>0) {
		int x = D[i]+1<A[i]?(D[i]+1)/2:A[i]/2;
		A[i]-=x*2, D[i]-=x*2;
		A[(i+1)%N]+=x, D[(i+1)%N]+=x;
	}
	for (int i=0; i<N; i++) if (A[i]!=B[i]) { puts("No"); return 0; }
	puts("Yes");
	return 0;
}

Compilation message (stderr)

remittance.cpp: In function 'int main()':
remittance.cpp:4:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &N);
  ~~~~~^~~~~~~~~~
remittance.cpp:5:54: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for (int i=0; i<N; i++) scanf("%d %d", &A[i], &B[i]), D[i]=A[i]-B[i];
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...