# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1183824 | asdfghjk | Hedgehog Daniyar and Algorithms (IZhO19_sortbooks) | C++20 | 3095 ms | 12156 KiB |
#include <bits/stdc++.h>
#define pb push_back
#define all(x) x.begin(), x.end()
#define F first
#define S second
#define con continue
using namespace std;
typedef long long ll;
typedef double db;
typedef long double ld;
const ll N = 1e6 + 5;
const ll inf = 1e9;
const ll INF = 1e18;
const ll MOD = 1e9 + 7;
int a[N],b[N],c[N];
void solve(){
int n,m;cin >> n >> m;
for(int i= 1;i <= n;i++){
cin >> a[i];
}
while(m--){
int l,r,k;cin >> l >> r >> k;
int d = (r - l + 1);
for(int i = 1;i <= d;i++){
b[i] = a[l + (i - 1)];
c[i] = a[l + (i - 1)];
}
int mx = 0;
set <int> s;
s.clear();
s.insert(b[d]);
bool can = 1;
for(int i = d-1;i > 0;i--){
if(*s.begin() >= a[i]){
s.insert(a[i]);
con;
}
// *s.begin() > a[i]
ll x = 0;
if(*s.rbegin() < a[i]){
x = *s.rbegin();
}
else{
auto it = s.lower_bound(a[i]);
it--;
x = *it;
}
if(x + a[i] > k){
can =0;
break;
}
s.insert(a[i]);
}
cout << can << '\n';
}
}
main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int t = 1;
//cin >> t;
while(t--){
solve();
}
}
Compilation message (stderr)
# | 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... |