求助帖,召唤神犇(from一个将快读搞成慢读的人的求助)
查看原帖
求助帖,召唤神犇(from一个将快读搞成慢读的人的求助)
312605
Megumimwf楼主2023/1/16 09:50
#include<bits/stdc++.h>
using namespace std;
int n, m, a[1000086], q, l, r, mid, ans;
int read() {
	int x=0, f=1;
	char ch=getchar();
	while(ch<'0' || ch >'9') {
		if(ch == '-') {
			f = -1;
			ch = getchar();
		}
	}
	while(ch >= '0' && ch <= '9') {
		x = x * 10 + ch - 48;
		ch = getchar();
	}
	return x * f;
}
int main() {
	n = read();
	m = read();
	for(int i=1; i<=n; ++i) {
		a[i] = read();
	}
	while(m--) {
		q = read();
		l=1;
		r=n;
		ans = -1;
		while(l<r) {
			mid = (l + r)>>1;
			if(q > a[mid]) {
				l = mid + 1;
			} else {
				r = mid;
			}
		}
		if(a[l] == q) {
			ans = l;
		}
		printf("%d ", ans);
	}
	return 0;
}

一整个TLE住了,感觉代码没多大问题,求助帮忙debug一下

2023/1/16 09:50
加载中...