제출 #480115

#제출 시각아이디문제언어결과실행 시간메모리
480115Ronin13Hedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++14
17 / 100
1274 ms98304 KiB
#include<bits/stdc++.h> #define ll long long #define ull unsigned ll #define pll pair<ll,ll> #define pii pair<int,int> #define f first #define s second #define pb push_back #define epb emplace back #define inf 1e9+1 #define linf 1e18+1 using namespace std; void solve(){ int n,m;cin>>n>>m; int a[n+1]; for(int i=1;i<=n;i++)cin>>a[i]; if(n<=5000){ int mx[n+1][n+1]; for(int i=1;i<=n;i++){ mx[i][i]=a[i]; for(int j=i+1;j<=n;j++)mx[i][j]=max(mx[i][j-1],a[j]); } while(m--){ int l,r,x;cin>>l>>r>>x; bool ind=true; for(int i=l+1;i<=r;i++){ if(a[i]<mx[l][i-1]){ if(a[i]+mx[l][i-1]>x){ ind=false; } } } if(ind)cout<<1<<"\n"; else cout<<0<<"\n"; } return; } vector<pii>aa,b; aa.pb({0,0}); b.pb({0,0}); int st; for(int i=2;i<=n;i++){ if(a[i]!=a[i-1]){ aa.pb({st,st}); b.pb({i-1,st}); st=i; } } aa.pb({st,st}); b.pb({n,st}); while(m--){ int l,r,x;cin>>l>>r>>x; pii ss={l,-6},rr={r,-6}; int ind=upper_bound(aa.begin(),aa.end(),ss)-aa.begin()-1; int ind1=lower_bound(b.begin(),b.end(),rr)-b.begin(); if(aa[ind].s==b[ind1].s)cout<<1<<"\n"; else cout<<0<<"\n"; } } int main(){ ios_base::sync_with_stdio(false);cin.tie(0); // freopen("in.in","r",stdin);freopen("out.out","w",stdout); int test=1;//cin>>test; while(test--){ 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...