제출 #401300

#제출 시각아이디문제언어결과실행 시간메모리
401300NintsiChkhaidzeHedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++14
30 / 100
571 ms10240 KiB
#include <bits/stdc++.h>
#define pb push_back
#define mod 1000000007
#define ll long long
using namespace std;
const int N = 1000005;
int a[N],b[N],pref[N];
int main (){
    ios_base::sync_with_stdio(0),cin.tie(NULL),cout.tie(NULL);
    int n,q;
    cin>>n>>q;
    for (int i=1;i<=n;i++)
        cin>>a[i];
    
    if (max(n,q) <= 5000){
        while(q--){
            int l,r,k;
            cin>>l>>r>>k;
            
            bool q=1;
            b[l] = 0;
            for (int i= l + 1;i<=r;i++){
                b[i] = b[i - 1];
                if (b[i] < a[i - 1]) b[i] = a[i - 1];
                if (b[i] > a[i] && b[i] + a[i] > k) {q=0; break;}
            }
            cout<<q<<"\n";
        }
        return 0;
    }
    a[n + 1] = 1e9 + 5;
    for (int i=1;i<=n;i++){
        pref[i] = pref[i - 1];
        if (a[i] > a[i + 1]) pref[i]++;
    }
        
    while(q--){
        int l,r,k;
        cin>>l>>r>>k;
            
        if (pref[r - 1] - pref[l - 1]) cout<<0<<"\n";
        else cout<<1<<"\n";
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...