0分玄关
查看原帖
0分玄关
770196
lijiayu_spyz楼主2023/10/10 22:03

最后一个答案输出不了,所以点TLE 代码:

#include<bits/stdc++.h>
using namespace std;
long long n,m,sum,z,a[1000001];
int findanswer(int s){
	int l=1,r=n;
	while(l<r){
		int mid=l+(r-1)/2;
		if(a[mid]>=s) r=mid-1;
		else l=mid+1;
	}
	if(a[l]==s) return l;
	else cout<<"-1";
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int i=1;i<=m;i++){
		cin>>z;
		int l=1,r=n;
		while(l<r){
			int mid=l+(r-1)/2;
			if(a[mid]>=z) r=mid-1;
			else l=mid+1;
		}
		if(a[l]==z) cout<<l<<" ";
		else cout<<"-1";
	}
	return 0;
} 

求求大佬救救我

2023/10/10 22:03
加载中...