이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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;
const int SZ=100;
void change(ll i, ll tal){
i%=n;
for(ll j=0;j<SZ*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<(SZ-1)*n;i++){
a.push_back(a[i]);
b.push_back(b[i]);
}
for(ll i=0;i<SZ*n;i++){
if(a[i]!=1&&a[i]>b[i]){
ll tal=0;
if(b[i]==0){
tal=a[i]/2;
}
else{
tal=(a[i]-b[i]+1)/2;
}
// 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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |