样例能过却爆0?
查看原帖
样例能过却爆0?
448910
_Goodnight楼主2021/8/17 15:57
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int a[1000010], n, m,p;
int find(int x) {
	int l = 1, r = n + 1;
	int mid = l + (r - l) / 2;
	while (l < r) {
		mid = l + (r - l) / 2;
		if (p<=a[mid]) {
			r = mid - 1;
		}
		else {
			l = mid + 1;
		}
	}
	if (a[l] == p) {
		return l;
	}
	return -1;
}
int main() {
	cin >> n >> m;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
	}
	for (int j = 0; j < m; j++) {
		cin >> p;
		cout << find(p) << (j==m-1?"" : " ");
	}
}
2021/8/17 15:57
加载中...