求助2.0,样例过了,提交不对
查看原帖
求助2.0,样例过了,提交不对
1253413
wcx_is_god楼主2024/5/7 16:54

2.0,样例过了,提交四个WA还有一个TLE。

我真的是栓Q。

废话少说,长话短说,请看代码,写的很烂。

#include<bits/stdc++.h>
using namespace std;
int a[1000005],m,n,q,ans;
//11 1 1 3 3 3 5 7 9 11 13 15 15 3
int f(int q){
	int l = 1,r = n,flag = 0,mid;
	while(l<r){
		mid = (l+r)/2;
		if(a[mid] == q){
			flag = 1;
			break;
		}
		else if(a[mid] < q) l = mid+1;
		else r = mid-1;
	}
	int i = mid;
	if(flag){
		while(true){
			if(a[i-1] != a[i]) return i;
			else i--;
		}
	}else return -1;
}
int main(){
	scanf("%d %d",&n,&m);
	for(int i = 1; i <= n; i++){
		scanf("%d",&a[i]);
	}
	for(int i = 1; i <= m; i++){
		scanf("%d",&q);
		ans = f(q);
		cout << ans << " ";
	}
	return 0;
}

2024/5/7 16:54
加载中...