样例过了但全WA求调
  • 板块P1918 保龄球
  • 楼主Lvan_wyw
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/8/24 13:04
  • 上次更新2024/8/24 15:37:06
查看原帖
样例过了但全WA求调
1283879
Lvan_wyw楼主2024/8/24 13:04

使用了二分查找和结构体, 但只过了样例,求调。

#include<bits/stdc++.h>
using namespace std;
int n,q,m;//如题 
struct node
{
	int x,y;//x是瓶子数,y是位置 
}a[100005];
bool cmp(node b,node c)
{
    return b.x<c.y;
}
int find(int f)//二分查找 
{
	int l=1,r=n;
	while(l<r)
	{
		int mid=l+(r-l)/2;
		if(a[mid].x>=f)
		{
			r=mid;
		}
		else
		{
			l=mid+1;
		}
	}
	if(a[l].x==f)
	{
		return a[l].y;
	}
	else
	{
		return 0;
	}
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].x;
		a[i].y=i;
	}
	sort(a+1,a+n+1,cmp);
	cin>>q;
	for(int i=1;i<=q;i++)
	{
		cin>>m;
		cout<<find(m)<<endl;
	}
	return 0;
}
2024/8/24 13:04
加载中...