이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define si unordered_set<int>
#define vi vector<int>
int di[200005];
int ri[200005];
void init(int k, vi r) {
  int x=0;
  int n = r.size();
  for (int i=n-1; i>=0; i--) {
    if (r[i] != r[n-1]) {
      x = i+1;
      break;
    }
  }
  int curr = x;
  for (int i=x+n-1; i>=x; i--) {
    if (r[i%n] == r[curr]) {
      curr = (i+1) %n;
    }
    di[i%n] = curr;
    ri[i%n] = r[i%n];
  }
  
}
int compare_plants(int x, int y) {
    int a = min(x, y), b = max(x, y), out=-1;
    if (di[a] >= b || di[a] < a) {
        out = 1-ri[a];
    }
    else if (di[b] < b && di[b] >=a) {
        out = ri[b];
    }
    if (out == -1) {
        return 0;
    }
    if (y==a) {
        out = 1-out;
    }
    if (out == 0) {
        out --;
    }
    return out;
    
}
| # | 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... |