一直输出-1
查看原帖
一直输出-1
360444
230syh楼主2022/10/9 20:07

帮忙看一下,谢谢。

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,m,q;
	cin>>n>>m;
	int a[n];
	for(int i=0;i<n;i++)
		cin>>a[i];
	int l,i,r,mid;
	bool f;
	while(m){
		l=0,r=n-1,f=true;
		cin>>q;
		while(l<r){
			mid=(l+r)/2;
			if(a[mid]>q)
				r=mid-1;
			else if(a[mid]<q)
				l=mid+1;
			else{
				i=mid-1;
				f=false;
				while(a[i]==q) i++;
				cout<<i<<" ";
			}
		}
		if(f)
			cout<<"-1 ";
		m--;
	}
	return 0;
}

2022/10/9 20:07
加载中...