제출 #925031

#제출 시각아이디문제언어결과실행 시간메모리
925031boris_mihov송금 (JOI19_remittance)C++17
0 / 100
1 ms2396 KiB
#include <algorithm> #include <iostream> #include <numeric> #include <cassert> #include <cstring> #include <vector> #include <queue> #include <stack> #include <set> typedef long long llong; const int MAXN = 1e6 + 10; const int MAXLOG = 20; const int INF = 2e9; int n; int a[MAXN]; int b[MAXN]; std::queue <int> q; void solve() { for (int i = 1 ; i <= n ; ++i) { if (a[i] > b[i]) { q.push(i); } } while (q.size()) { int idx = q.front(); q.pop(); if (a[idx] <= b[idx]) { continue; } int cnt = (a[idx] - b[idx] + 1) / 2; a[idx % n + 1] += cnt; a[idx] -= 2 * cnt; if (a[idx % n + 1] - b[idx % n + 1] > 1) { q.push(idx % n + 1); } } for (int i = 1 ; i <= n ; ++i) { if (a[i] < b[i]) { std::cout << "No\n"; return; } } std::cout << "Yes\n"; } void input() { std::cin >> n; for (int i = 1 ; i <= n ; ++i) { std::cin >> a[i] >> b[i]; } } void fastIOI() { std::ios_base :: sync_with_stdio(0); std::cout.tie(nullptr); std::cin.tie(nullptr); } int main() { fastIOI(); input(); solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...