#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];
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];
int cnt=0;
for(int i=0;i<n*2;i++){
if(r[i]==1)cnt=0;
cnt++;
p[i]=cnt;
}
cnt=0;
for(int i=n*2-1;i>=0;i--){
if(r[i]==0)cnt=0;
cnt++;
s[i]=cnt;
}
return;
}
// 0 - >
// 1 - <
int compare_plants(int x, int y) {
bool t=0;
if(x>y)t=1,swap(x,y);
int res=-1;
if(x+s[x]>=y)res=1;
else if(y-p[y]<=x)res=0;
if(res!=-1&&t)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... |