Submission #211627

#TimeUsernameProblemLanguageResultExecution timeMemory
211627m3r8Remittance (JOI19_remittance)C++14
15 / 100
7 ms384 KiB
#include <stdio.h> #define N 1000100 #define ll long long ll A[N]; ll B[N]; int cnt[N]; int main(void){ int n; int nn = 1; int nnn = 1; scanf("%d",&n); for(int i = 0;i<n;i++){ scanf("%lld %lld",&A[i],&B[i]); if(B[i] != 0)nn = 0; if(A[i] != 0)nnn = 0; }; int pos = 1; if(nn && !nnn)pos = 0; if(pos){ for(int j = 0;j<2;j++){ for(int i = 0;i<n;i++){ if(j == 1 && i == n-1)break; if(A[i] > B[i]){ ll tmp = A[i]-B[i]; if(tmp % 2)tmp--; tmp /= 2; A[(i+1)%n] += tmp; A[i] -= tmp * 2; }; }; }; for(int i = 0;i<n;i++){ ll diff = A[i]-B[i]; pos = diff >= 0; if(!pos)break; for(int j = 0;j<32;j++){ if(diff & (1ull << j)){ cnt[(i+j)%n] ^= 1; }; }; }; }; if(pos){ int st = cnt[0]; for(int i = 0;i<n;i++){ //printf("%lld\n",A[i]-B[i]); //printf("%d\n",cnt[i]); if(cnt[i] != st){ pos = 0; break; }; }; }; if(pos)printf("Yes\n"); else printf("No\n"); return 0; };

Compilation message (stderr)

remittance.cpp: In function 'int main()':
remittance.cpp:14:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&n);
   ~~~~~^~~~~~~~~
remittance.cpp:16:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     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...