제출 #888109

#제출 시각아이디문제언어결과실행 시간메모리
8881098pete8송금 (JOI19_remittance)C++17
15 / 100
1 ms348 KiB
#include<iostream> #include<stack> #include<map> #include<vector> #include<string> #include<unordered_map> #include <queue> #include<cstring> #include<limits.h> #include <cassert> #include<cmath> #include<set> #include<algorithm> #include <iomanip> #include<numeric> //gcd(a,b) #include<bitset> using namespace std; #define ll long long/ #define f first #define endl "\n" #define s second #define pii pair<int,int> #define ppii pair<int,pii> #define vi vector<int> #define pb push_back #define all(x) x.begin(),x.end() #define rall(x) x.rbegin(),x.rend() #define F(n) for(int i=0;i<n;i++) #define lb lower_bound #define ub upper_bound #define fastio ios::sync_with_stdio(false);cin.tie(NULL); #pragma GCC optimize ("03,unroll-loops") using namespace std; #define int long long const int mod=1e9+7,mxn=5e3+5,lg=30,inf=1e18,minf=-1e18; int val[mxn+10],need[mxn+10],real[mxn+10]; int32_t main(){ fastio int n;cin>>n; for(int i=0;i<n;i++){ cin>>real[i]>>need[i]; //if(val[i]-need[i]>val[mx]-need[mx])mx=i; } bool yes=false; for(int mx=0;mx<n;mx++){ yes=true; for(int i=0;i<n;i++)val[i]=real[i]; for(int j=0;j<2;j++){ for(int i=mx;i<mx+n;i++){ int cur=i%n; if(val[cur]<need[cur]){ yes=false; } val[(cur+1)%n]+=ceil((val[cur]-need[cur])*1.0/2); val[cur]-=ceil((val[cur]-need[cur])*1.0/2)*2; if(val[cur]<0){ yes=false; } } } for(int i=0;i<n;i++)if(val[i]!=need[i])yes=false; if(yes){ cout<<"Yes"; return 0; } } cout<<"No"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...