AcWing 789. 数的范围
原题链接
简单
作者:
TaoZex
,
2019-08-08 14:45:50
,
所有人可见
,
阅读 659
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N];
int n,q;
int main(){
cin>>n>>q;
for(int i=0;i<n;i++) cin>>a[i];
for(int i=0;i<q;i++){
int x;
cin>>x;
int l=0,r=n-1;
while(l<r){
int mid=l+r>>1;
if(a[mid]>=x) r=mid; //找大于x的最小值
else l=mid+1;
}
if(a[l]!=x) cout<<"-1 -1"<<endl;
else{
cout<<l<<' ';
int l=0,r=n-1;
while(l<r){
int mid=l+r+1>>1;
if(a[mid]<=x) l=mid; //找小于x的最大值
else r=mid-1;
}
cout<<r<<endl;
}
}
return 0;
}