#include <bits/stdc++.h>
// #define LOCAL
using namespace std;
const int NMAX = 200'001;
int n,k,q;
int r[NMAX];
int rpref[NMAX+1];
void init(int kl, vector<int> rl) {
    n = rl.size();
    k = kl;
    for (int i = 0; i < n; ++i) {
        r[i] = rl[i];
    }
    rpref[0] = 0;
    for (int i = 1; i <= n; ++i) {
        rpref[i] += rpref[i-1];
        rpref[i] += r[i-1];
    }
}
bool isGreater(int x, int y) {
    if (x < y) {
        int s0 = rpref[y+1] - rpref[x];
        int s1 = (rpref[n] - rpref[y]) + (rpref[x]-rpref[0]);
        if (s0 == 0 || s1 == (n-1-y+1 + x-1-0+1)) return true;
        else return false;
    } else {
        int s0 = rpref[y+1] - rpref[x];
        int s1 = (rpref[n] - rpref[y]) + (rpref[x]-rpref[0]);
        if (s1 == 0 || s0 == (y-1-x+1)) return true;
        else return false;
    }
}
// x, y: Labels of plants
//  Return:
//      1:   x taller than plant y
//     -1:   x smaller than plant y
//      0:   inconclusive
int compare_plants(int x, int y) {
    assert(x < y);
    if (isGreater(x, y)) {
        return 1;
    } else if (isGreater(y, x)) {
        return -1;
    } else {
        return 0;
    }
}
#ifdef LOCAL
int32_t main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int nl, kl, ql;
    cin >> nl >> kl >> ql;
    vector<int> rl(nl);
    for (auto& e : rl) cin >> e;
    init(kl, rl);
    for (int _ = 0; _ < ql; _++) {
        int x, y;
        cin >> x >> y;
        cout << compare_plants(x, y);
        if (_ < ql-1) cout << '\n';
    }
    return 0;
}
#endif
| # | 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... |