64pts,#1WA,#6TLE
查看原帖
64pts,#1WA,#6TLE
938397
y6hz楼主2023/8/13 21:40
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n, m, q, a[1000000];
    bool b = 0;
    cin >> n >> m;
    for (register int i = 0; i < n; ++i)
        cin >> a[i];
    int l = 0, r = n - 1, mid;
    for (register int i = 0; i < m; ++i) {
        b = 0;
        l = 0, r = n - 1, mid = (l + r) / 2;
        cin >> q;
        while (l < r) {
            if (b)
                break;
            if (mid == l || mid == r)
                b = 1;
            if (a[mid] == q) {
                if (mid)
                    while (a[mid - 1] == a[mid])
                        mid--;
                cout << mid + 1;
                cout << ' ';
                break;
            }
            if (a[mid] < q) {
                l = mid;
                mid = (l + r) / 2;
            }
            else if (a[mid] > q) {
                r = mid;
                mid = (l + r) / 2;
            }
        }
        if (a[mid] != q)
            cout << "-1 ";
    }
    return 0;
}
2023/8/13 21:40
加载中...