#include<iostream>
using namespace std;
const int N = 1e5 + 10;
int q[N];
int n, m;
int main()
{
cin.tie(0);
cout.tie(0);
ios::sync_with_stdio(false);
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){
r = mid;
}
else{
l = mid + 1;
}
}
if(q[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(q[mid] <= x){
l = mid;
}
else{
r = mid - 1;
}
}
if(q[l] != x){
cout<<"-1 -1"<<endl;
}
else{
cout<<l<<endl;
}
}
}
return 0;
}
AcWing 数的范围 题解 (二分 模板)
最新推荐文章于 2024-03-11 11:38:13 发布