Submission #825854

#TimeUsernameProblemLanguageResultExecution timeMemory
825854amunduzbaevComparing Plants (IOI20_plants)C++17
14 / 100
4070 ms8660 KiB
#include "plants.h" #include "bits/stdc++.h" using namespace std; const int inf = 1e9; vector<int> a; int n; void init(int k, vector<int> r) { n = r.size(); a.resize(n); for(int j=n;j>0;j--){ //~ for(int i=0;i<n;i++) cout<<r[i]<<" "; //~ cout<<"\n"; int cnt = 0; for(int i=0;i<k - 1;i++) cnt += (r[i] == 0); int p = -1; for(int i=k - 1;;){ if(!cnt && r[i] == 0){ p = i; break; } cnt -= (r[(i + n - k + 1) % n] == 0); cnt += (r[i] == 0); i = (i + 1) % n; if(i == k - 1) break; } //~ assert(~p); assert(a[p] == 0); //~ cout<<i<<endl; r[p] = inf; a[p] = j; for(int i=0;i<n;i++){ if((i <= p && p < i + k) || (i <= p + n && p + n < i + k)){ r[i]--; } } } //~ for(int i=0;i<n;i++) cout<<a[i]<<" "; //~ cout<<"\n"; return; } int compare_plants(int x, int y) { if(a[x] > a[y]) return 1; if(a[x] < a[y]) return -1; return 0; }
#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...