제출 #970041

#제출 시각아이디문제언어결과실행 시간메모리
970041efedmrlr송금 (JOI19_remittance)C++17
0 / 100
1 ms600 KiB
#include <bits/stdc++.h> #define int long long int #define pb push_back #define MP make_pair #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define REP(i, n) for(int i = 0; (i) < (n); (i)++) #define ld long double using namespace std; void fastio() { ios_base::sync_with_stdio(false); cin.tie(NULL); } const int N = 1e6 + 5; const int INF = 1e9 + 500; const int LGN = 45; int n; vector<int> a, b; void solve() { cin >> n; a.resize(n + 1); b.resize(n + 1); bool f3 = 0; for(int i = 0; i < n; i++) { cin >> a[i] >> b[i]; if(b[i]) f3 = 1; } for(int k = 0; k < LGN; k++) { bool f = 0; for(int i = 0; i < n; i++) { // cout << "i:" << i << " v:" << a[i] << " " << b[i] << "\n"; int j = (i + 1) % n; if(b[i] >= a[i]) continue; f = 1; int nxt = (a[i] - b[i]) / 2; a[i] -= nxt * 2; a[j] += nxt; } if(!f) break; } bool f = 1; for(int i = 0; i < n; i++) { if(a[i] != b[i]) { f = 0; break; } } if(!f) { bool f2 = 1; for(int i = 1; i < n; i++) { if(a[i] - b[i] != a[i - 1] - b[i - 1]) { f2 = 0; } } if(f2 && f3) { f = 1; } } if(f) cout << "Yes\n"; else cout << "No\n"; } signed main() { fastio(); solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...