RE:从零开始的爆零生活
查看原帖
RE:从零开始的爆零生活
107318
爱挨打的豆豆楼主2020/9/19 08:56
#include<bits/stdc++.h>
using namespace std;
long long a[100001];
int ss(int left,int right,int ans){
	int middle=(left+right)/2;
	if(left==right&&a[middle]!=ans)
		return -1;
	if(ans==a[middle]){
		while(a[middle-1]==ans)
			middle--;
		return middle;
	}
	else if(ans<a[middle])
		return ss(left,middle-1,ans);
	else if(ans>a[middle])
		return ss(middle+1,right,ans);
}

int main(){
	int n,m,q;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int i=1;i<=m;i++){
		cin>>q;
		cout<<ss(1,n,q)<<" ";
	}
	return 0;
}

本地跑没啥问题,自己实在是想不通了,还请大佬指教

提前orz

2020/9/19 08:56
加载中...