Submission #400941

#TimeUsernameProblemLanguageResultExecution timeMemory
400941NintsiChkhaidzeHedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++14
0 / 100
3071 ms4100 KiB
#include<bits/stdc++.h> #define ll long long #define s second #define f first #define pb push_back using namespace std; const int N = 200005; int a[N],id[N]; pair <int,int> b[N]; bool go(int l,int r,int L,int R){ if (l > r) swap(l,r); if (L > R) swap(L,R); if (l > L) swap(l,L),swap(r,R); //l r / L R //l L r R if (l < L && L < r) return 1; return 0; } int main(){ ios_base::sync_with_stdio(0),cin.tie(NULL),cout.tie(NULL); int n,m; cin>>n>>m; for (int i=1;i<=n;i++) cin>>a[i]; for (int i=1;i<=m;i++){ int l,r,k; cin>>l>>r>>k; for (int j=l;j<=r;j++) b[j] = {a[j],j}; sort(b + l,b + r + 1); for (int j = l; j <= r; j++) { id[b[j].s] = j; // cout<<b[j].f<<" "<<b[j].s<<endl; } bool q=1; for (int j = l; j <= r; j++){ for (int d = j + 1; d <= r; d++){ if (a[j] + a[d] <= k) continue; bool check = go(j,id[j],d,id[d]); if (check) {q=0; break;} } if (!q) break; } cout<<q<<"\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...