# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
514924 | 2022-01-18T19:51:08 Z | Abrar_Al_Samit | 송금 (JOI19_remittance) | C++17 | 1000 ms | 154504 KB |
#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.empty() && 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
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 204 KB | Output is correct |
2 | Correct | 0 ms | 204 KB | Output is correct |
3 | Correct | 0 ms | 204 KB | Output is correct |
4 | Execution timed out | 1094 ms | 154504 KB | Time limit exceeded |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 204 KB | Output is correct |
2 | Correct | 0 ms | 204 KB | Output is correct |
3 | Correct | 0 ms | 204 KB | Output is correct |
4 | Execution timed out | 1094 ms | 154504 KB | Time limit exceeded |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 204 KB | Output is correct |
2 | Correct | 0 ms | 204 KB | Output is correct |
3 | Correct | 0 ms | 204 KB | Output is correct |
4 | Execution timed out | 1094 ms | 154504 KB | Time limit exceeded |
5 | Halted | 0 ms | 0 KB | - |