This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "plants.h"
#include<bits/stdc++.h>
#define ll long long
#define ff first
#define ss second
#define pb push_back
using namespace std;
const int N = 5e5;
vector<int>v;
int n;
int R[N], L[N];
void init(int k, std::vector<int> r) {
n = r.size();
int a = 0;
for(int i = 0; i < n; i++){
if(a < i) a = i;
while(r[a%n] == 0) a++;
R[i] = a;
}
int b = n-1;
for(int i = n-1; i >= 0; i--){
if(b > i) b = i;
while(r[(b-1+n) % n] == 1) b--;
L[i] = b;
}
for(int i = 0; i < n; i++){
if(L[i] < 0) L[i] += n, R[i] += n;
}
return;
}
bool check(int x,int y){
return (L[x] <= y && y <= R[x]) ||
(L[x] <= y+n && y+n <= R[x]);
}
int compare_plants(int x, int y) {
if(check(x,y)) return 1;
if(check(y,x)) 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... |