AcWing 789. 数的范围
原题链接
简单
作者:
怎么又下雨
,
2025-03-25 13:19:34
·广东
,
所有人可见
,
阅读 2
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int arr[100000];
int main()
{
int n, q;
cin >> n >> q;
for (int i = 0; i < n; i++) cin >> arr[i];
for (int i = 0; i < q; i ++)
{
int x = 0;
cin >> x;
int res_l = 0, res_r = 0;
int l = 0, r = n - 1;
while (l < r)
{
int mid = l + r >> 1;
if (arr[mid] >= x) r = mid;
else l = mid + 1;
}
res_l = l;
r = n - 1;
while (l < r)
{
int mid = l + r + 1 >> 1;
if (arr[mid] <= x) l = mid;
else r = mid - 1;
}
res_r = r;
if (arr[res_l] == x && arr[res_r] == x) cout << res_l << ' ' << res_r << endl;
else cout << "-1 -1" << endl;
}
return 0;
}