P2249---#1WA,#6TLE,求助大佬们
查看原帖
P2249---#1WA,#6TLE,求助大佬们
1126198
asdfghjklzxcv楼主2023/11/26 18:58
#include<iostream>

using namespace std;
int a[1000005];

int two(int a[],int left,int right,int s)
{
	int mid;
	int index=-1;
	while(left<=right)
	{
		mid=(left+right)>>1;
		if(a[mid]<s)
		{
			left=mid+1;
		}
		else if(a[mid]>s)
		{
			right=mid-1;
		}
		else
		{
			while(a[mid-1]==a[mid])
			{
				mid--;
			}
			index=mid+1;
			break;
		}
	}
	return index;	
}

int main()
{
	int n,m,i,k;
	cin>>n>>m;
	for(i=0;i<n;i++)
	{
		cin>>a[i];
	}
	while (m--)
	{
		cin >> k;
		cout <<two(a, 0, n-1, k) <<" ";
	}
	return 0;
}
2023/11/26 18:58
加载中...