饿了吗?第一行一个T,表示接下来有T组数据,对于每组数据 第一行一个整数n 接下来一行有n个整数a[i] (表示商家的美味值) 第三行一个整数q 表示死亡魔法骑士的q次询问 接下来q行每行一个

题:
死亡魔法骑士不会魔法,就爱吃东西。
一天他心血来潮,用刚学会的Python系爬虫法术靠毅力检索了整个饿了吗的数据,得到n家商家的美味值,每家商家的美味值各不相同。
他想知道美味值为m的商家在所有商家中排行第几。

Input
第一行一个T,表示接下来有T组数据,对于每组数据
第一行一个整数n
接下来一行有n个整数a[i] (表示商家的美味值)
第三行一个整数q 表示死亡魔法骑士的q次询问
接下来q行每行一个整数m

(1<=n,q,m<=100000,1<=a[i]<=1000000000,)

Output
对于每次询问,输出对应的排行
Sample Input Copy
1
5
2 3 4 1 6
5
1
2
3
4
6
Sample Output Copy
1
2
3
4
5

#include<iostream>
#include<algorithm>
using namespace std;

int cmp(int x,int y)
{
	return x<y;
}

int Search(int a[], int value, int low, int high)
{
    int mid = low+(high-low)/2;
    if(a[mid]==value)
        {
        printf("%d\n",mid+1);
        return 0;
		}
    if(a[mid]>value)
        Search(a, value, low, mid-1);
    if(a[mid]<value)
        Search(a, value, mid+1, high);
}//二分查找

int main()
{
	int T;
	scanf("%d",&T);
	while(T--)
	{
		int N;
		scanf("%d",&N);
		int a[N+5];
		for(int i=0;i<N;i++)
		{
			scanf("%d",&a[i]);
		}
		sort(a,a+N,cmp);
		int X;
		scanf("%d",&X);
		int b;
		for(int j=0;j<X;j++)
		{
			scanf("%d",&b);
			Search(a,b,0,N);
		}
	}
	
	return 0;
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值