This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#pragma GCC optimize("O3")
#pragma GCC target("popcnt")
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define Waimai ios::sync_with_stdio(false),cin.tie(0)
#define FOR(x,a,b) for(int x=a,I=b;x<=I;x++)
#define pb emplace_back
#define F first
#define S second
const int SIZE = 1e6 + 5;
int n, q;
int a[SIZE], to[SIZE];
void solve2() {
while (q--) {
int l, r, k;
cin >> l >> r >> k;
int mx = 0;
bool f = 1;
FOR (i, l, r) {
if (mx > max (a[i], k - a[i])) {
f = 0;
break;
}
mx = max (mx, a[i]);
}
cout << f << '\n';
}
}
void solve() {
cin >> n >> q;
FOR (i, 1, n) cin >> a[i];
if (n <= 5000) {
solve2();
return;
}
int cnt = 0;
FOR (i, 1, n) {
FOR (j, i, n) {
if (j == n || a[j + 1] < a[j]) {
FOR (k, i, j) to[k] = cnt;
cnt++;
i = j;
break;
}
}
}
while (q--) {
int l, r, k;
cin >> l >> r >> k;
cout << (to[l] == to[r]) << '\n';
}
}
int main() {
Waimai;
solve();
}
/*
5 2
3 5 1 8 2
1 3 6
2 5 3
*/
# | 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... |