Submission #209749

#TimeUsernameProblemLanguageResultExecution timeMemory
209749mhy908Remittance (JOI19_remittance)C++14
0 / 100
5 ms376 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int n;
LL a[1000010], b[1000010];
int main(){
    scanf("%d", &n);
    for(int i=0; i<n; i++)scanf("%lld %lld", &a[i], &b[i]);
    while(1){
        bool flag=false;
        for(int i=0; i<n; i++){
            if(a[i]<=b[i]||(a[i]==1&&b[i]==0))continue;
            LL temp=(a[i]-b[i]+1)/2;
            a[i]-=temp*2;
            a[(i+1)%n]+=temp;
            flag=true;
        }
        if(!flag)break;
    }
    for(int i=0; i<n; i++){
        if(a[i]!=b[i]){
            puts("No");
            return 0;
        }
    }
    puts("Yes");
}

Compilation message (stderr)

remittance.cpp: In function 'int main()':
remittance.cpp:7:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
     ~~~~~^~~~~~~~~~
remittance.cpp:8:32: 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("%lld %lld", &a[i], &b[i]);
                           ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...