제출 #548234

#제출 시각아이디문제언어결과실행 시간메모리
548234MilosMilutinovicRemittance (JOI19_remittance)C++14
100 / 100
575 ms36432 KiB
#include <bits/stdc++.h>
using namespace std;
const int N=1000050;
int n;
long long a[N],b[N];
bool ok(){
	bool is=true;
	for(int i=0;i<n;i++)is&=(a[i]==b[i]);
	if(is)return true;
	is=true;
	for(int i=0;i<n;i++)is&=(a[i]==b[i]+1);
	if(!is)return false;
	is=false;
	for(int i=0;i<n;i++)is|=(b[i]>0);
	return is;
}
int main(){
	scanf("%i",&n);
	for(int i=0;i<n;i++)scanf("%lld%lld",&a[i],&b[i]);
	for(int j=0;j<60;j++)for(int i=0;i<n;i++){
		if(a[i]>b[i]){
			long long x=(a[i]-b[i])/2;
			a[i]-=2*x,a[(i+1)%n]+=x;
		}
	}
	puts(ok()?"Yes":"No");
}

컴파일 시 표준 에러 (stderr) 메시지

remittance.cpp: In function 'int main()':
remittance.cpp:18:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |  scanf("%i",&n);
      |  ~~~~~^~~~~~~~~
remittance.cpp:19:27: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 |  for(int i=0;i<n;i++)scanf("%lld%lld",&a[i],&b[i]);
      |                      ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...