#ifdef LIS05ST
#define _GLIBCXX_DEBUG
#define _GLIBCXX_DEBUG_PEDANTIC
#endif
#pragma GCC optimize("O3")
#pragma GCC target("avx2,popcnt,lzcnt")
#include"plants.h"
#include"bits/stdc++.h"
using namespace std;
typedef long long ll;
typedef long double ld;
const int NMAX=2e5;
int pref[NMAX+5];
int n,k;
int get(int l,int r){
return pref[r]-pref[l-1];
}
bool one(int l,int r){
return get(l,r)==r-l+1;
}
bool zero(int l,int r){
return get(l,r)==0;
}
vector<int>h;
int id(int x){
return (x%n+n)%n;
}
void init(int K, std::vector<int> R){
n=R.size();h.resize(n);
k=K;
for(int i=0;i<n;i++)pref[i+1]=pref[i]+R[i];
for(int step=n;step>=1;step--){
int sum=0;
for(int m=1;m<k;m++)sum+=R[id(0-m)]==0;
for(int i=0;i<n;i++){
if(R[i]==0&&sum==0){
h[i]=step;
for(int m=0;m<k;m++)R[id(i-m)]--;
break;
}
sum+=R[i]==0;
sum-=R[id(i-k+1)]==0;
}
}
};
int compare_plants(int x, int y){
if(k==2){
x++,y++;
if(zero(x,y-1))return 1;
if(one(1,x-1)&&one(y,n))return 1;
if(one(x,y-1))return -1;
if(zero(1,x-1)&&zero(y,n))return -1;
return 0;
}
if(h[x]>h[y])return 1;
if(h[x]<h[y])return -1;
return 0;
}
#define MULTITESTS false
void solve(int testCase){
}
// x y
void precalc(){
}
/*
signed main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
precalc();
int t=1;
if(MULTITESTS)cin>>t;
for(int i=1;i<=t;i++){
auto t1=clock();
solve(i);
auto t2=clock();
float delta=t2-t1;
delta/=CLOCKS_PER_SEC;
#ifdef LIS05ST
cout<<"("<<i<<")------------"<<fixed<<setprecision(2)<<delta<<"s\n";
#endif
}
}*/
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
0 ms |
212 KB |
Output is correct |
4 |
Correct |
0 ms |
212 KB |
Output is correct |
5 |
Correct |
0 ms |
212 KB |
Output is correct |
6 |
Correct |
44 ms |
3104 KB |
Output is correct |
7 |
Correct |
1867 ms |
3352 KB |
Output is correct |
8 |
Execution timed out |
4090 ms |
5708 KB |
Time limit exceeded |
9 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
0 ms |
212 KB |
Output is correct |
4 |
Correct |
1 ms |
212 KB |
Output is correct |
5 |
Correct |
1 ms |
212 KB |
Output is correct |
6 |
Correct |
23 ms |
424 KB |
Output is correct |
7 |
Correct |
573 ms |
5112 KB |
Output is correct |
8 |
Correct |
2 ms |
340 KB |
Output is correct |
9 |
Correct |
24 ms |
420 KB |
Output is correct |
10 |
Correct |
573 ms |
5068 KB |
Output is correct |
11 |
Correct |
410 ms |
5012 KB |
Output is correct |
12 |
Correct |
407 ms |
5236 KB |
Output is correct |
13 |
Correct |
657 ms |
5016 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
0 ms |
212 KB |
Output is correct |
4 |
Correct |
1 ms |
212 KB |
Output is correct |
5 |
Correct |
1 ms |
212 KB |
Output is correct |
6 |
Correct |
23 ms |
424 KB |
Output is correct |
7 |
Correct |
573 ms |
5112 KB |
Output is correct |
8 |
Correct |
2 ms |
340 KB |
Output is correct |
9 |
Correct |
24 ms |
420 KB |
Output is correct |
10 |
Correct |
573 ms |
5068 KB |
Output is correct |
11 |
Correct |
410 ms |
5012 KB |
Output is correct |
12 |
Correct |
407 ms |
5236 KB |
Output is correct |
13 |
Correct |
657 ms |
5016 KB |
Output is correct |
14 |
Execution timed out |
4064 ms |
5072 KB |
Time limit exceeded |
15 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
67 ms |
4828 KB |
Output is correct |
4 |
Execution timed out |
4080 ms |
8680 KB |
Time limit exceeded |
5 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
0 ms |
212 KB |
Output is correct |
4 |
Correct |
0 ms |
212 KB |
Output is correct |
5 |
Incorrect |
1 ms |
212 KB |
Output isn't correct |
6 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
0 ms |
212 KB |
Output is correct |
4 |
Incorrect |
0 ms |
212 KB |
Output isn't correct |
5 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
0 ms |
212 KB |
Output is correct |
4 |
Correct |
0 ms |
212 KB |
Output is correct |
5 |
Correct |
0 ms |
212 KB |
Output is correct |
6 |
Correct |
44 ms |
3104 KB |
Output is correct |
7 |
Correct |
1867 ms |
3352 KB |
Output is correct |
8 |
Execution timed out |
4090 ms |
5708 KB |
Time limit exceeded |
9 |
Halted |
0 ms |
0 KB |
- |