求助,第一个点WA
查看原帖
求助,第一个点WA
609811
accccccc楼主2022/5/13 16:36
#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
using namespace std;
#define ll long long
#define INF  0x7FFFFFFF
const int N = 1e6+10;
const int M = N*4;
int a[N];
int bs2(int *a, int n, int x) {
	int l = 0, r = n-1;
	while(l <= r) {
		int mid = (l + r) >> 1;
		if(a[mid] == x)	{
			if(a[mid-1] == x) {
				return bs2(a, n-(n-mid), x);
			} else {
				return mid+1;
			}
		}
		else if(a[mid] > x)
			r = mid-1;
		else
			l = mid+1;
	}
	return -1;
}
int main() {
//    ios::sync_with_stdio(false); cin.tie(0);
	int n, m;
	scanf("%d %d", &n, &m);
	for(int i = 0; i < n; ++i)
		scanf("%d", &a[i]);
	while(m--) {
		int x;
		scanf("%d", &x);
		printf("%d ",bs2(a, n, x));
	}
    return 0;
}
2022/5/13 16:36
加载中...