题目链接:789. 数的范围 - AcWing题库
二分建议就用y总的模板
#include <cstdio>
#include <cstring>
int S[100100];
int main()
{
int n,m;
scanf("%d%d",&n,&m);
for(int i = 0;i < n;i++) scanf("%d",&S[i]);
for(int i = 0;i < m;i++)
{
int k;
scanf("%d",&k);
int l = 0,r = n-1;
while(l < r)
{
int mid = l+r >>1;
if(S[mid] >= k) r = mid;
else l = mid+1;
}
if(S[l] != k) printf("-1 -1\n");
else
{
printf("%d ",l);
l = 0,r = n-1;
while(l < r)
{
int mid = l+r+1 >> 1;
if(S[mid] <= k) l = mid;
else r = mid-1;
}
printf("%d\n",r);
}
}
return 0;
}