제출 #418543

#제출 시각아이디문제언어결과실행 시간메모리
418543MohamedAhmed04송금 (JOI19_remittance)C++14
100 / 100
290 ms36404 KiB
#include <bits/stdc++.h> using namespace std ; const int MAX = 1e6 + 10 ; long long a[MAX] , b[MAX] ; int n ; int main() { ios_base::sync_with_stdio(0) ; cin.tie(0) ; cin>>n ; for(int i = 0 ; i < n ; ++i) cin>>a[i]>>b[i] ; long long sum1 = 0 , sum2 = 0 ; int cnt = 0 ; for(int i = 0 ; i < n ; ++i) { sum1 += a[i] , sum2 += b[i] ; cnt += (a[i] != b[i]) ; } bool flag = true ; while(sum1 >= sum2 && cnt > 0 && flag) { flag = false ; for(int i = 0 ; i < n ; ++i) { if(a[i] <= b[i]) continue ; long long x = (a[i] - b[i] + 1ll) / 2ll ; if(a[i] - x * 2ll < 0) x-- ; int nxt = i+1 ; if(nxt == n) nxt = 0 ; a[i] -= x * 2ll , a[nxt] += x ; flag |= (x > 0) ; } sum1 = sum2 = cnt = 0 ; for(int i = 0 ; i < n ; ++i) { sum1 += a[i] , sum2 += b[i] ; cnt += (a[i] != b[i]) ; } } if(cnt == 0) cout<<"Yes\n" ; else cout<<"No\n" ; return 0 ; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...