题目描述
blablabla
样例
#include<iostream>
using namespace std;
const int N=100010;
int n,m;
int q[N];
int main(){
cin>>n>>m;
for(int i=0;i<n;i++)cin>>q[i];
while(m--){
int x;
cin>>x;
int l=0,r=n-1;
while(l<r){
int mid=l+r>>1;
if(q[mid]<x)l=mid+1; //该情况下x只能在mid的右边
else r=mid; //本着尽量缩小范围的原则,且mid可能是寻找的元素,防止mid就是第一位元素的情况,所以不能r=mid-1 只能是r=mid
}
if(q[l]!=x)cout<<"-1 -1"<<endl;
else{ cout<< l<<' ';
l=0,r=n-1;
while(l<r){
int mid=l+r+1>>1;
if(q[mid]>x)r=mid-1;//该情况下x只能在mid的左边
else l=mid; //本着尽量缩小范围的原则,且mid可能是寻找的元素,防止mid是最后一位元素的情况,所以不能l=mid+1,只能是l=mid
}
cout<<l<<endl;}
}
return 0;
}