Submission #928225

#TimeUsernameProblemLanguageResultExecution timeMemory
928225vjudge1Hedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++17
8 / 100
3060 ms17968 KiB
#include <bits/stdc++.h>
#define S second
#define F first
#define sz size()
#define int long long
#define pb push_back
#define all(x) x.begin(),x.end()
#define yes "YES\n"
#define no "NO\n"
#define ent "\n"
#define give_me_more_speed ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);

using namespace std;

const int maxn = 1e6 + 5, mod = 1e9 + 7;

int pref[maxn];

int a[maxn];

void solve(){
  int n , q;
  cin >> n >> q;
  pref[1] = 1;
  for(int i = 1;i <= n;i++){
    cin >> a[i];
    if(i > 1){
      pref[i] = pref[i - 1] + (a[i - 1] <= a[i]);
    }
  }
  int mn = *min_element(a + 1,a + 1 + n);
  // cout<<mn<<ent;
  while(q--){
    int l , r , k;
    cin >> l >> r >> k;
    if(k < mn){
      if(pref[r] - pref[l - 1] == (r - l + 1)){
        cout<<1<<ent;
      }
      else cout<<0<<ent;
      continue;
    }
    int ok = 1;
    for(int i = l + 1;i <= r;i++){
      for(int j = l;j < i;j++){
        if(a[i] + a[j] > k && a[i] < a[j]){
          ok = 0;
        }
      }
    }
    cout<<ok<<ent;
  }
}

signed main(){
  give_me_more_speed
  int t = 1;
  //cin>>t;
  for(int i = 1;i <= t;i++){
      solve();
  }
}

#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...