Submission #1356758

#TimeUsernameProblemLanguageResultExecution timeMemory
1356758JohanHedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++20
8 / 100
3095 ms23968 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e6 + 5;
const int INF = 1e18;
int l, r, k;
void shift(int l, int r, vector < int > &x){
  deque < int > v;
  for(int i = l + 1; i <= r; i++)
    v.push_back(x[i]);
  int id = 0;
  v.push_front(v.back());
  v.pop_back();
  for(int i = l + 1; i <= r; i++)
    x[i] = v[id++];
}
signed main(){
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int n, q;
  cin >> n >> q;
  vector < int > a(n);
  for(int &i : a)cin >> i;
  while(q--){
    cin >> l >> r >> k; 
    l--, r--;
    vector < int > v;
    bool ok = true;
    for(int i = l; i <= r; i++)
      v.push_back(a[i]);
    for(int i = 1; i < v.size() && ok; i++){ 
      int j = i - 1;
      while(j >= 0 && v[i] < v[j] && ok){
        if(v[j] + v[i] > k)
          ok = false;
        j--;
      }
      shift(j, i, v);
    }
    cout << ok << endl;
  }
}
#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...