이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
using namespace std;
long long n,m,a[1000006],b[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;
}
if(getmx(l,r).first!=w) return w;
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();
while(m--)
{
long long l,r,k;
cin>>l>>r>>k;
// while(r>=l&&getmx(l,r).first==a[r])
// {
// r--;
// }
// if(r<l) cout<<1<<endl;
// else
// {
// pair<long long,long long> p=getmx(l,r);
// long long h=get(p.second,r,p.first);
// if(p.first+h<=k)
// {
// cout<<1<<endl;
// }
// else cout<<0<<endl;
// }
long long res=0;
for(int i=l;i<=r;i++)
{
b[i]=a[i];
}
for(int i=1;i<=r-l+1;i++)
{
for(int j=l;j<=r-i;j++)
{
if(b[j]>b[j+1])
{
res=max(res,b[j]+b[j+1]);
swap(b[j],b[j+1]);
}
}
}
if(res<=k) cout<<1<<endl;
else cout<<0<<endl;
}
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... |