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>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
const int MAXN = 2e5;
int N, K, R[MAXN+10];
vector<int> V;
void init(int _K, vector<int> _R)
{
K=_K; N=_R.size();
for(int i=0; i<N; i++) R[i]=_R[i];
for(int i=0; i<N; i++)
{
if(R[i]!=R[(i+1)%N]) V.push_back(i);
}
for(int i=0; i<N; i++)
{
if(R[i]!=R[(i+1)%N]) V.push_back(i+N);
}
for(int i=0; i<N; i++)
{
if(R[i]!=R[(i+1)%N]) V.push_back(i+N+N);
}
return;
}
int compare_plants(int x, int y)
{
int ans=0;
if(*lower_bound(V.begin(), V.end(), x+1)==*lower_bound(V.begin(), V.end(), y))
{
if(R[x]) return -1;
else return 1;
}
x+=N;
swap(x, y);
if(*lower_bound(V.begin(), V.end(), x+1)==*lower_bound(V.begin(), V.end(), y))
{
if(R[(y-1)%N]) return 1;
else return -1;
}
return 0;
}
Compilation message (stderr)
plants.cpp: In function 'int compare_plants(int, int)':
plants.cpp:37:6: warning: unused variable 'ans' [-Wunused-variable]
37 | int ans=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... |