第一个点WA第五个点TLE
查看原帖
第一个点WA第五个点TLE
577683
Neil_Seniorious楼主2022/7/10 19:07
#include<cstdio>
int n,k,q;
int a[1000001];
void search(int l,int r){
	int mid;
	while(l<=r){
		mid=(l+r)>>1;
		if(a[mid]==q){
			while(mid>0&&a[mid-1]==q) mid--;
			printf("%d ",mid);
			return;
		}
		else{
			if(a[mid]<q){
				l=mid+1;
			}
			else{
				r=mid-1;
			}
		}
	}
	printf("-1 ");
}
int main(){
	scanf("%d%d",&n,&k);
	for(int i=1;i<=n;i++){
		scanf("%d",a+i);
	}
	for(int i=1;i<=k;i++){
		scanf("%d",&q);
		search(1,n);
	}
	return 0;
}
2022/7/10 19:07
加载中...