제출 #659849

#제출 시각아이디문제언어결과실행 시간메모리
659849filiptudose7송금 (JOI19_remittance)C++11
100 / 100
200 ms16596 KiB
#include <bits/stdc++.h> #define int long long #define no {cout<<"No"; return 0;} #define yes {cout<<"Yes"; return 0;} using namespace std; int a[1000005],b[1000005],s1,s2; signed main() { //freopen("rem.in","r",stdin); //freopen("rem.out","w",stdout); cin.sync_with_stdio(false); cin.tie(0); int n; cin>>n; for(int i=1; i<=n; ++i) { cin>>a[i]>>b[i]; s1+=a[i]; s2+=b[i]; } while(s1>=s2) { bool modif=0; int add=0; for(int i=1; i<=n; ++i) { if(a[i]<=b[i])continue; int next = (i<n ? i+1 : 1); int add=(a[i]-b[i]+1)/2; if(a[i]<add*2)--add; a[i]-=2*add; a[next]+=add; modif|=(add>0); } if(!modif)break; for(int i=1; i<=n; ++i)s1+=a[i]; } for(int i=1; i<=n; ++i)if(a[i]!=b[i])no; yes; return 0; }

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

remittance.cpp: In function 'int main()':
remittance.cpp:24:13: warning: unused variable 'add' [-Wunused-variable]
   24 |         int add=0;
      |             ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...