제출 #720873

#제출 시각아이디문제언어결과실행 시간메모리
720873bin9638Comparing Plants (IOI20_plants)C++17
14 / 100
4058 ms9556 KiB
#include <bits/stdc++.h> #ifndef SKY #include "plants.h" #endif // SKY using namespace std; #define N 1000010 #define ll long long #define fs first #define sc second #define ii pair<ll,int> #define pb push_back int k,n,h[N],a[N]; bool check(int u) { if(a[u]!=0) return 0; for(int j=1;j<k;j++) if(a[(u-j+n)%n]==0) return 0; return 1; } void init(int cc, vector<int> r) { k=cc; n=r.size(); for(int i=0;i<n;i++) a[i]=r[i]; int dem=n; for(int t=0;t<n;t++) { for(int i=0;i<n;i++) if(check(i)) { h[i]=--dem; for(int j=0;j<k;j++) a[(i-j+n)%n]--; break; } } // for(int i=0;i<n;i++)cout<<h[i]<<" "; } int compare_plants(int x, int y) { if(h[x]<h[y]) return -1; else return 1; } #ifdef SKY int main() { freopen("A.inp","r",stdin); freopen("A.out","w",stdout); ios::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); int n,k; cin>>n>>k; vector<int>r(n); for(int i=0;i<n;i++) cin>>r[i];//,cout<<r[i]<<endl; init(k,r); int q; cin>>q; while(q--) { int x,y; cin>>x>>y; cout<<compare_plants(x,y)<<endl; } return 0; } #endif
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...