0分求助
查看原帖
0分求助
946929
xuzihao123楼主2023/7/11 13:44
#include <iostream>
#include <string>
using namespace std;
int main(){
	int a[10000000],n,k;
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	int u;
	int m;
	int l,r;
	for(int i=1;i<=k;i++){
		bool s=true;
		scanf("%d",&m);
		l=1;
		r=n+1;
		while(l<=r){
			u=(l+r)/2;
			if(a[u]==m){
				printf("%d",u);
				printf("%c",32);
				s=false;
				break;
			}
			else if(a[u]>m){
				r=u-1;
			}
			else {
				l=u+1;
			}
		}
		if(s==true){
			printf("%d",-1);
			printf("%c",32);
		}
	}
}#include <iostream>
#include <string>
using namespace std;
int main(){
	int a[10000000],n,k;
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	int u;
	int m;
	int l,r;
	for(int i=1;i<=k;i++){
		bool s=true;
		scanf("%d",&m);
		l=1;
		r=n+1;
		while(l<=r){
			u=(l+r)/2;
			if(a[u]==m){
				printf("%d",u);
				printf("%c",32);
				s=false;
				break;
			}
			else if(a[u]>m){
				r=u-1;
			}
			else {
				l=u+1;
			}
		}
		if(s==true){
			printf("%d",-1);
			printf("%c",32);
		}
	}
}
2023/7/11 13:44
加载中...