Submission #514923

#TimeUsernameProblemLanguageResultExecution timeMemory
514923Abrar_Al_SamitRemittance (JOI19_remittance)C++17
0 / 100
1 ms460 KiB
#include<bits/stdc++.h> using namespace std; void PlayGround() { int n; cin >> n; long long a[n], b[n]; for(int i=0; i<n; ++i) { cin >> a[i] >> b[i]; } for(int st=0; st<n; ++st) { long long have[n]; for(int i=0; i<n; ++i) { have[i] = a[i]; } queue<bool>remittance; int v = st; while(1) { long long can = max(0LL, have[v]-b[v]); if(can&1) --can; remittance.push(can!=0); if(remittance.size()==n) { while(remittance.front()==0) { remittance.pop(); } } if(remittance.empty()) break; have[v] -= can; can /= 2; have[(v+1)%n] += can; v = (v+1)%n; } bool ok = 1; for(int i=0; i<n; ++i) { ok &= have[i]==b[i]; } if(ok) { cout << "Yes\n"; return; } } cout << "No\n"; //O(N^2logN) // cerr << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n"; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); PlayGround(); return 0; }

Compilation message (stderr)

remittance.cpp: In function 'void PlayGround()':
remittance.cpp:22:24: warning: comparison of integer expressions of different signedness: 'std::queue<bool>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   22 |    if(remittance.size()==n) {
      |       ~~~~~~~~~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...