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<bits/stdc++.h>
using namespace std;
#define int long long
#define nn "\n";
const int N = 2e5 + 8 , inf = 1e9+7 ;
int n , m , q ;
signed main() {
ios_base::sync_with_stdio(0), cin.tie(0);
cin>> n >> q;
int w[n+1] , l[q+1] , r[q+1] , k[q+1] , p[n+1];
int mx1 = max(n , q );
int mx2 =0 ;
p[1] =0 ;
for(int i= 1 ; i <= n; i++){
cin>> w[i];
if(i > 1 ) {
p[i] = p[i - 1];
if(w[i]>= w[i-1])p[i]++;
}
if(w[i]< mx2) {
mx2 = max(mx2 , w[i]);
p[i]++;
}
}
for(int i =1 ; i <= q; i++){
cin>> l[i]>> r[i]>> k[i];
}
if(mx1 <= 5000){
for(int i =1 ; i <= q; i++){
int mx =w[l[i]] , cnt =0 ;
for(int j =l[i]+1 ; j <= r[i] ; j++){
if(w[j]< mx ){
cnt = max(cnt , w[j]+mx);
}
else mx = w[j];
}
if(cnt <= k[i] ){
cout << 1 << nn
}
else cout << 0 << nn
}
}
else{
for(int i =1 ; i <= q ;q ++){
if(p[r[i]] - p[l[i]]==r[i]-l[i])cout << 1 << nn
else cout << 0 << nn
}
}
}
# | 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... |