Submission #1156958

#TimeUsernameProblemLanguageResultExecution timeMemory
115695812345678Comparing Plants (IOI20_plants)C++20
0 / 100
0 ms328 KiB
#include "plants.h" #include <bits/stdc++.h> using namespace std; const int nx=2e5+5; int N, dpl[nx], dpr[nx]; vector<int> h; int solvel(int x) { int prev=(x-1+N)%N; if (h[prev]==1) return dpl[x]=solvel(prev); return dpl[x]=x; } int solver(int x) { int nxt=(x+1)%N; if (h[x]==0) return dpr[x]=solver(nxt); return dpr[x]=x; } void init(int k, std::vector<int> r) { N=r.size(); h=r; for (int i=0; i<N; i++) dpl[i]=dpr[i]=-1; for (int i=0; i<N; i++) { if (dpl[i]==-1) solvel(i); if (dpr[i]==-1) solver(i); //cout<<i<<' '<<dpl[i]<<' '<<dpr[i]<<'\n'; } } int compare_plants(int x, int y) { if (dpl[x]==dpr[x]&&dpl[x]!=x) return 1; if (dpl[x]>dpr[x]) { if (y>=dpl[x]) return 1; if (y<=dpr[x]) return 1; return 0; } return (dpl[x]<=y&&y<=dpr[x]); }
#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...