This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
long long n,m,a[1000006],rmx[30][1000006],vt[30][1000006];
//void buildd()
//{
// for(int i=1;i<=n;i++)
// {
// rmx[0][i]=a[i];
// vt[0][i]=i;
// }
// for(int i=1;i<=21;i++)
// {
// for(int j=1;j<=n-(1<<i)+1;j++)
// {
// if(rmx[i-1][j]>=rmx[i-1][j+(1<<(i-1))])
// {
// rmx[i][j]=rmx[i-1][j];
// vt[i][j]=vt[i-1][j];
// }
// else
// {
// rmx[i][j]=rmx[i-1][j+(1<<(i-1))];
// vt[i][j]=vt[i-1][j+(1<<(i-1))];
// }
// }
// }
//}
//pair<int,int> getmx(long long l,long long r)
//{
// long long k=__lg(r-l+1);
// if(rmx[k][l]>=rmx[k][r-(1<<k)+1])
// {
// return {rmx[k][l],vt[k][l]};
// }
// else return {rmx[k][r-(1<<k)+1],vt[k][r-(1<<k)+1]};
//}
//long long get(long long l,long long r,long long w)
//{
// if(l==r)
// {
// if(a[l]<w) return a[l];
// else return -1;
// }
// pair<int,int> p=getmx(l,r);
// if(p.first<w) return p.first;
// long long mid=(l+r)/2;
// return max(get(l,mid,w),get(mid+1,r,w));
//}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
// freopen(".inp","r",stdin);
// freopen(".out","w",stdout);
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
// buildd();
if(m<=5000)
while(m--)
{
long long l,r,k;
cin>>l>>r>>k;
long long mx=a[l],res=0;
for(int i=l+1;i<=r;i++)
{
if(a[i]>=mx)
{
mx=a[i];
}
else
{
res=max(res,mx+a[i]);
}
}
if(res<=k) cout<<1<<"\n";
else cout<<0<<"\n";
}
else
{
while(m--)
{
long long l,r,k;
cin>>l>>r>>k;
cout<<0<<"\n";
}
}
return 0;
}
# | 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... |