这暴力最后一个点只会跑37ms
#include<bits/stdc++.h>
using namespace std;
int m,n,l,r;
struct M{
int id,num;
}a[100000];
bool cmp(M x,M y){
if(x.num<y.num)return 1;
if(x.num==y.num&&x.id<y.id)return 1;
return 0;
}
int main(){
scanf("%d%d",&m,&n);
for(int i=1;i<=m;i++){
scanf("%d",&a[i].num);
a[i].id=i;
}
sort(a+1,a+1+m,cmp);
for(int i=1;i<=n;i++){
scanf("%d%d",&l,&r);
for(int j=1;1;j++)
if(a[j].id>=l&&a[j].id<=r)
{printf("%d ",a[j].num);break;}
}
return 0;
}
求加强数据!!!