二分多测求条
  • 板块学术版
  • 楼主Eva_91418
  • 当前回复2
  • 已保存回复2
  • 发布时间2025/2/3 19:00
  • 上次更新2025/2/4 09:31:11
查看原帖
二分多测求条
749219
Eva_91418楼主2025/2/3 19:00
#include<bits/stdc++.h>
using namespace std;
int n,q;
int k[1000005];
int l=0,r=n-1;
int mid;
int x;
bool f=0;
int main()
{
	cin>>n>>q;
	for(int i=0;i<n;i++)
	{
		cin>>k[i];
	}
	while(q--){
	cin>>x;
	f=0;l=0;r=n-1;
	while(l!=r){
		mid=(l+r)/2;
		if(k[mid]==x)
		{
			cout<<mid<<"\n";
			f=1;
			break;
		}
		if(k[mid]<x)
			l=mid;
		if(k[mid]>x)
			r=mid+1;
	}
	if(f==0)
		cout<<-1<<"\n";
}
	return 0;
 } 
2025/2/3 19:00
加载中...