经典本地正确,运行RE
查看原帖
经典本地正确,运行RE
510759
yjhyygyrrkf楼主2021/6/26 19:15
#include <bits/stdc++.h>

using namespace std;

const int N = 100010;

int n, m;
int q[N];

int main()
{
    scanf("%d%d", &n, &m);
    for (int i = 0; i < n; i ++ ) scanf("%d", &q[i]);

    while (m -- )
    {
        int x;
        scanf("%d", &x);

        int l = 0, r = n - 1;

        while (l < r)
        {
            int mid = l + r >> 1;
            if (q[mid] >= x) r = mid;
            else l = mid + 1;
        }
        if (q[l] != x) cout << "-1 ";
        else
            cout << l+1 << ' ';

    }

    return 0;
}

2021/6/26 19:15
加载中...