请大佬看看哪里出错了 #1,#4,#5TLE #2,#3,#6AC
查看原帖
请大佬看看哪里出错了 #1,#4,#5TLE #2,#3,#6AC
1051460
jasonlixuran楼主2024/4/7 17:59
#include<bits/stdc++.h>
using namespace std;
int a[10000010];
int n;
int b[10000010];
int s(int x)
{
	int l = 0,r=n-1;
	while(l<=r)
	{
		int mid = (l+r)/2;
		if(a[mid]>x)
		{
			r = mid-1;
		}
		else if(a[mid]<x)
		{
			l = mid+1;
		}
		else 
		{
			for(int i = 0; i<mid; i++)
			{
				if(a[i]==x)
				return i+1;
			}
			return mid+1;
		}
	}
	return -1;
}
int main()
{
	int m;
	cin>>n>>m;
	for(int i = 0; i<n; i++)
	{
		cin>>a[i];
	}
	for(int i = 0; i<m; i++)
	{
		cin>>b[i];
	}
	for(int i = 0; i<m; i++)
	{
		b[i]=s(b[i]);
	}
	for(int i = 0; i<m; i++)
	{
		cout<<b[i]<<" ";
	}
}
2024/4/7 17:59
加载中...