问题标题: 1000 Hello, World!

0
0
已解决
朱宸晗
朱宸晗
资深守护
资深守护

完美90

#include<bits/stdc++.h>
using namespace std;
int n,m,t,a[100005],x;
int zhu(int t)
{
	int l=1,r=n;
	while(l<=r)
	{
		int mid=l+(r-l)/2;
		if(t<a[mid])
		{
			r=mid-1;
		}
		else
		{
			l=mid+1;
		}
	}
	if(l-1>1&&a[l-1]==t)
	{
		return l-1;
	}
	return -1;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	while(m--)
	{
		cin>>t;
		cout<<zhu(t)<<endl;
	}
	return 0;
}

哪错了?

TM的想不出来

朱宸晗在2023-09-27 20:39:56追加了内容

刚才发错题目了因该是2778

朱宸晗在2023-09-28 19:24:49追加了内容

****************没人吗

朱宸晗在2023-09-28 19:25:57追加了内容

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,其实是二分,没想到吧哈啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

朱宸晗在2023-09-28 20:27:18追加了内容

是2778!!!!!!!!!!!!!!!!!1


0
已采纳
刘瑾瑜
刘瑾瑜
新手天翼
新手天翼

这题可以直接用二分查找1的代码

0
0
0
0
0
0
0
陈子明
陈子明
中级光能
中级光能

mid=(l+r+1)/2

l=mid

自己理解

我要回答