제출 #773857

#제출 시각아이디문제언어결과실행 시간메모리
773857gagik_2007송금 (JOI19_remittance)C++17
55 / 100
396 ms262144 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef pair<ll, ll> pii; typedef pair<ll, ll> pll; #define ff first #define ss second ll ttt; const ll INF=1e18; const ll MOD=1e9+7; const ll N=3e5+7; ll n,m,k; vector<ll>a,b; void change(ll i, ll tal){ i%=n; for(ll j=0;j<1000*n;j+=n){ a[i+j]-=tal*2; a[(i+1)%n+j]+=tal; } } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); // freopen("output.txt","w",stdout); cin>>n; for(ll i=0;i<n;i++){ ll x,y; cin>>x>>y; a.push_back(x); b.push_back(y); } for(ll i=0;i<999*n;i++){ a.push_back(a[i]); b.push_back(b[i]); } for(ll i=0;i<1000*n;i++){ if(a[i]!=b[i]){ ll tal=0; if(a[i]!=1&&a[i]>b[i]){ if(a[i]%2==b[i]%2){ tal=(a[i]-b[i])/2; } else{ tal=(a[i]-b[i]+1)/2; if(b[i]==0){ tal--; } } } // cout<<i%n<<": "<<a[i]<<", "<<b[i]<<": "<<tal<<endl; change(i,tal); } } for(ll i=0;i<n;i++){ // cout<<a[i]<<" "<<b[i]<<endl; if(a[i]!=b[i]){ cout<<"No"<<endl; return 0; } } cout<<"Yes"<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...