输出错误
查看原帖
输出错误
376481
Carrot_Rui楼主2020/10/3 11:01

请问哪出错了????? 为什么输出全是-1

#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
using namespace std;
int m,n,p,a[1000001];

int find(int a[],int k,int l,int r){
/*k为要查找的数字,l,r分别为左和右区间 */
      int mid=(r+l)/2;
      if(l=r){
      	if(a[l]==k) return l;
      	else return -1;
	  }
       if(a[mid]<=k) find(a,k,mid+1,r);
      else if(a[mid]>=k) find(a,k,l,mid+1);
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	  cin>>a[i];
	for(int i=1;i<=m;i++){
		cin>>p;
		cout<<find(a,p,1,n)<<" ";
	}
	
	return 0;
}
2020/10/3 11:01
加载中...