例题代码:
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int s[N], n, m;
int main()
{
scanf("%d %d", &n, &m);
for(int i = 0; i < n; i ++) scanf("%d", &s[i]);
while(m--)
{
int t;
scanf("%d", &t);
int i = -1, j = n;
while(i + 1 < j)
{
int mid = i + j >> 1;
if(s[mid] >= t) j = mid;
if(s[mid] < t) i = mid;
}
if(s[j] != t) cout << -1 << " ";
else cout << j << " ";
i = -1, j = n;
while(i + 1 < j)
{
int mid = i + j + 1 >> 1;
if(s[mid] > t) j = mid;
if(s[mid] <= t) i = mid;
}
if(s[i] != t) cout << -1 << endl;
else cout << i << endl;
}
return 0;}