제출 #1281337

#제출 시각아이디문제언어결과실행 시간메모리
1281337arashmemarRemittance (JOI19_remittance)C++20
0 / 100
1 ms720 KiB
#include <bits/stdc++.h> using namespace std; const int maxn = 1e6 + 100; set <pair <int, int>> s; int a[maxn], b[maxn], d[maxn], n; void push(int i) { int cur = d[i]; if (cur != 1) { cur -= cur % 2; } else { cur++; } s.erase({d[i], i}); d[i] -= cur; s.insert({d[i], i}); int j = i + 1; if (j == n + 1) { j = 1; } s.erase({d[j], j}); d[j] += cur / 2; s.insert({d[j], j}); return ; } int main() { cin >> n; for (int i = 1;i <= n;i++) { cin >> a[i] >> b[i]; d[i] = a[i] - b[i]; s.insert({d[i], i}); } while ((*(--s.end())).first > 0) { push((*(--s.end())).second); } for (int i = 1;i <= n;i++) { if (d[i] < 0) { cout << "No"; return 0; } } cout << "Yes"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...