제출 #1356722

#제출 시각아이디문제언어결과실행 시간메모리
1356722JohanHedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++20
8 / 100
3094 ms23712 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;
    for(int i = l; i <= r; i++)
      v.push_back(a[i]);
    for(int i = 1; i < v.size(); i++){ 
      int j = i - 1;
      while(j >= 0 && v[i] < v[j] && v[i] + v[j] <= k){
        j--;
      }
      shift(j, i, v);
      // cout << j << '-' << i << endl;
      // cout << "printing array:";
      // for(auto k : v)
      //   cout << k << ' ';
      // cout << endl;
    }
    if(is_sorted(v.begin(), v.end()) == true){
      cout << 1 << endl;
    }
    else {
      cout << 0 << 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...