打卡
有失误
把a[mid]写成了mid
然后其他都会
#define _CRT_SECURE_NO_WARNINGS
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<vector>
#include<stack>
using namespace std;
const int N = 100010;
int a[N];
int f; //f长度
int main()
{
cin >> f; int num;
cin >> num;
for (int i = 0; i < f; i++)
scanf("%d", &a[i]);
int x;
while (num--)
{
cin>>x;
int l=0; int r=f-1;
while(l<r)
{
int mid=(l+r)>>1; //左
if(x>a[mid])l=mid+1;
else r=mid;
}
if(a[l]==x)
{
cout<<l<<" ";
l=0; r=f-1;
while(l<r)
{
int mid=(l+r+1)>>1; //右
if(x<a[mid])r=mid-1;
else l=mid;
}
cout<<l<<endl;
}
else
cout<<"-1 -1"<<endl;
}
}