Submission #677743

#TimeUsernameProblemLanguageResultExecution timeMemory
677743benedict0724Remittance (JOI19_remittance)C++17
0 / 100
1 ms212 KiB
#include <iostream> #include <stack> #include <string> #include <queue> #include <vector> #include <set> #include <map> #include <algorithm> #include <cassert> using namespace std; typedef long long ll; ll A[22], B[22], C[22]; ll x[22]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int N; cin >> N; for(int i=0;i<N;i++) cin >> A[i] >> B[i]; for(int i=0;i<N;i++) C[i] = A[i] - B[i]; ll X = (1<<N) - 1; bool flag = true; for(int i=0;i<N;i++) { ll tmp = 0; for(int j=0;j<N;j++) { tmp += (1<<j) * C[(i+j+1)%N]; } if(tmp < 0 || tmp%X != 0) flag = false; x[i] = tmp/X; } if(!flag) { cout << "No\n"; return 0; } int st = -1; for(int i=0;i<N;i++) { if(A[i] >= 2 * x[i]) st = i; } if(st == -1) { cout << "No\n"; return 0; } cout << "Yes\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...