Submission #1236067

#TimeUsernameProblemLanguageResultExecution timeMemory
1236067stanirinaComparing Plants (IOI20_plants)C++20
5 / 100
47 ms6596 KiB
#include <bits/stdc++.h> #include "plants.h" #include <cstdio> #include <cassert> using namespace std; vector<int> v; vector<int> rc; int nn; int kk; void init(int k, std::vector<int> r) { kk=k; nn=r.size(); rc.resize(nn*2); v.resize(nn,0); for(int i=0;i<nn;i++)rc[i]=rc[i+nn]=r[i]; //for(int i=0;i<2*nn;i++)cout<<rc[i]<<' '; //cout<<endl; for(int i=nn;i<2*nn;i++){ if(rc[i]==rc[i-1])v[nn-1]++; else break; } //cout<<v[n-1]<<endl; for(int i=nn-2;i>=0;i--){ if(rc[i]==rc[i+1])v[i]=v[i+1]+1; else v[i]=0; } for(int i=0;i<nn;i++)v[i]++; //for(int i=0;i<n;i++)cout<<v[i]<<' '; //cout<<endl; return; } int compare_plants(int x, int y) { //cout<<v[x]<<' '<<v[y]<<endl; if(x+v[x]>=y){ if(rc[x]==1)return -1; else return 1; } if((y+v[y])>=nn && (y+v[y])%nn>=x){ if(rc[y]==1)return 1; else 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...