#include "plants.h"
#include <bits/stdc++.h>
#define ll long long
#define sz size()
#define F first
#define S second
using namespace std;
const int N=1e6+3;
int n;
int r[N];
int p[N];
int s[N];
int p0[N];
void init(int k, vector<int>inr) {
n=(int)inr.sz;
for(int i=0;i<n;i++)r[i]=r[i+n]=inr[i];
for(int i=0;i<n;i++)cout<<r[i]<<" ";
cout<<"\n";
int cnt=0;
for(int i=0;i<n*2;i++){
cnt++;
if(r[i]==0)cnt=0; // a[i] > a[i+1]
p[i]=cnt;
}
cnt=0;
for(int i=n*2-1;i>=0;i--){
cnt++;
if(r[i]==1)cnt=0; // a[i] < a[i+1]
s[i]=cnt;
}
for(int i=0;i<2*n;i++)cout<<i<<": "<<p[i]<<" "<<s[i]<<" "<<p0[i]<<"\n";
return;
}
// 0 - >
// 1 - <
int compare_plants(int x, int y) {
int res=0;
if(x+s[x]>=y||x+n-p[x+n-1]<=y)res=1;
else if(y-p[n+y-1]<=x||y+s[y]>=x+n)res=-1;
return res;
}
| # | 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... |