Submission #961668

#TimeUsernameProblemLanguageResultExecution timeMemory
961668UnforgettableplRemittance (JOI19_remittance)C++17
15 / 100
1 ms604 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int modulo = 1e9+7; int A[7]; int B[7]; int curr[7]; int arr[7]; int32_t main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; for(int i=0;i<n;i++)cin>>A[i]>>B[i]; for(int start=0;start<=35;start++){ arr[0]=start; bool works = true; for(int x=1;x<n;x++){ arr[x]=arr[x-1]+A[x]-B[x]; if(arr[x]<0)works=false; if(arr[x]&1)works=false; arr[x]/=2; } int backup = arr[n-1]+A[0]-B[0]; if(backup&1)works=false; if(arr[0]!=backup/2)works=false; if(!works)continue; for(int x=0;x<n;x++)curr[x]=A[x]; for(int rounds=1;rounds<10;rounds++){ for(int x=0;x<n;x++){ int uses = min(arr[x],curr[x]/2); curr[x]-=2*uses; arr[x]-=uses; curr[(x+1)%n]+=uses; } } for(int x=0;x<n;x++)if(curr[x]!=B[x])works=false; if(works){ cout << "Yes\n"; return 0; } } cout << "No\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...