AcWing 789. 数的范围
原题链接
简单
直接使用C++库里的二分
二分查找
C++ 代码
#include <iostream>
#include <algorithm>
using std :: cout;
using std :: cin;
using std :: endl;
using std :: lower_bound;
using std :: upper_bound;
int arr[100001];
int main(){
int n;
int query;
int queryNum;
cin >> n >> query;
for(int i = 0 ; i < n ; ++i){
scanf("%d",&arr[i]);
}
while(query--){
scanf("%d",&queryNum);
auto itleft = lower_bound(arr,arr+n,queryNum);
if(itleft == arr+n || *itleft != queryNum){
cout << -1 << " " << -1 << endl;
}
else{
auto itright = upper_bound(arr,arr+n,queryNum);
cout << itleft - arr << " " << itright - arr - 1 << endl;
}
}
}