64分,样例过,求解!
查看原帖
64分,样例过,求解!
1059049
Bramble_Marshall楼主2024/7/16 08:01
#include <bits/stdc++.h>

using namespace std;

const int N = 1e6 + 5;

int a[N];

int n, m;

int low_find(int num, int l, int r) {
    int mid = l + (r - l) / 2;
    if (l > r) return -1;
    else if (a[mid] > num) return low_find(num, l, mid - 1);
    else if (a[mid] < num) return low_find(num, mid + 1, r);
    else while (a[mid] == num) mid--;
    return ++mid;
}

// 13489 : 6

int main() {
    cin >> n >> m;
    for (int i = 1; i <= n; i++) cin >> a[i];
    for (int i = 1, tmp; i <= m; i++) {
        cin >> tmp;
        cout << low_find(tmp, 1, n) << ' ';
    }
    return 0;
}
2024/7/16 08:01
加载中...