rt,递归写的二分(主要是受到辛普森积分影响。。。)
然鹅 0 分
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
using namespace std;
const int N = 1e6 + 10;
int w[N], n, m, v;
int get(int l, int r)
{
if (l > r) return -1;
if (l == r) return w[l] == v ? l : -1;
int mid = l + r >> 1;
if (v <= w[mid]) return get(l, mid);
else return get(mid + 1, r);
}
int main()
{
scanf("%d%d", &n, &m);
for (int i = 1; i <= n; i ++ )
scanf("%d", &w[i]);
while (m -- )
{
scanf("%d", &v);
printf("%d\n", get(1, n));
}
return 0;
}