제출 #755543

#제출 시각아이디문제언어결과실행 시간메모리
755543jmyszka2007송금 (JOI19_remittance)C++17
55 / 100
197 ms32332 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; constexpr int LIM = 1e6; ll a[LIM + 10]; ll b[LIM + 10]; ll x[LIM + 10]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); ll n; cin >> n; ll ans = 0; ll sumb = 0, suma = 0; for(int i = 1; i <= n; i++) { cin >> a[i] >> b[i]; ans += (b[i] - a[i]) * (1ll << (i - 1)); sumb += b[i]; suma += a[i]; } if(ans % ((1ll << n) - 1) || sumb > suma || (suma > 0 && !sumb)) { cout << "No\n"; } else { bool czy = 1; ans /= -((1ll << n) - 1); x[n] = ans; for(int i = 1; i < n; i++) { int pop = i - 1; if(!pop) { pop = n; } if((a[i] + x[pop] - b[i]) & 1) { czy = 0; break; } else { x[i] = (a[i] + x[pop] - b[i]) / 2; } } ll sumx = 0; for(int i = 1; i <= n; i++) { sumx += x[i]; if(x[i] < 0) { czy = 0; } } if(czy) { cout << "Yes\n"; } else { cout << "No\n"; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...