This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |