제출 #1256821

#제출 시각아이디문제언어결과실행 시간메모리
1256821nguyenhuythach송금 (JOI19_remittance)C++20
100 / 100
115 ms8264 KiB
#include<bits/stdc++.h> #include<algorithm> #include<random> #include<chrono> #include<cstdlib> #include<ctime> #include<numeric> #include<vector> #include<stack> #include<map> #include<set> #include<queue> #include<iomanip> #define int long long #define ll long long #define L LLONG_MAX #define fi first #define se second #define pii pair<int,int> #define sz(a) ((int)a.size()) #define FOR(i,j,k) for(int i=j;i<=k;i++) #define REP(i,k,j) for(int i=k;i>=j;i--) #define FORD(i,a) for(auto i:a) #define rngdcl mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()) #define random(l,r) ((l)+(rng()%(r-l+1))) using namespace std; const int nmax=1e6+1; int n; int a[nmax]; bool flag1=false,flag2=true; void input() { cin >> n; FOR(i,0,n-1) { int x,y; cin >> x >> y; if(y>0) flag2=false; if(x>0) flag1=true; a[i]=x-y; } } void solve() { if(flag1 && flag2) { cout << "No"; return; } while(true) { bool flag=false; FOR(i,0,n-1) { if(a[i]>0) { flag=true; a[(i+1)%n]+=(a[i]+1)/2; a[i]-=(a[i]+1)/2*2; } } if(!flag) break; } FOR(i,0,n-1) if(a[i]!=0) { cout << "No"; return; } cout << "Yes"; } signed main() { //freopen(".inp", "r", stdin); //freopen(".out", "w", stdout); ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); input(); solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...