AcWing 789. 数的范围
原题链接
简单
作者:
wzc1998
,
2021-01-13 22:00:51
,
所有人可见
,
阅读 341
#include <iostream>
using namespace std;
int n, q, k;
const int maxn = 100010;
int a[maxn];
int main(){
cin >> n >> q;
for(int i = 0; i < n; i ++){
cin >> a[i];
}
for(int i = 0; i < q; i ++){
cin >> k;
int l = 0, r = n - 1;
while(l < r){
int mid = l + r >> 1;
if(a[mid] < k){
l = mid + 1;
}else{
r = mid;
}
}
if(a[l] != k){
cout << "-1 -1" << endl;
}else{
cout << l << " ";
r = n - 1;
while(l < r){
int mid = l + r + 1 >> 1;
if(a[mid] <= k){
l = mid;
}else{
r = mid - 1;
}
}
cout << l << endl;
}
}
return 0;
}