#include <bits/stdc++.h>
#include "plants.h"
using namespace std;
#define fi first
#define se second
#define pb push_back
#define ll long long
#define ld long double
const int N=2e5+50;
int k,n;
int pref[2*N],r[2*N];
int suma(int l,int r){
if(l<=r) return pref[r]-pref[l-1];
return pref[r+n]-pref[l-1];
}
int dist(int l,int r){
if(l<=r) return r-l+1;
return n+(r-l+1);
}
void init(int k1, std::vector<int> r1){
k=k1;n=r1.size();
for(int i=1;i<=n;i++) r[i]=r1[i-1];
for(int i=n+1;i<=2*n;i++) r[i]=r[i-n];
for(int i=1;i<=2*n;i++) pref[i]=pref[i-1]+r[i];
}
int compare_plants(int x, int y){
x++,y++;
int X=suma(x,y-1);
if(X==0) return 1;
if(X==dist(x,y-1)) return -1;
X=suma(y,x-1);
if(X==0) return -1;
if(X==dist(y,x-1)) return 1;
return 0;
}
# | 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... |