HDU6095 Rikka with Competition

来源:互联网 发布:什么是响应式编程 编辑:程序博客网 时间:2024/06/06 17:59

【题目链接】
http://acm.hdu.edu.cn/showproblem.php?pid=6095

题目意思

一场n个人比赛,给个数组a表示n个人的实力,当|ai−aj|>K,则ai获胜。否则都可以能获胜。问你a数组里面可能获胜的人数。

解题思路

对数组排序,从大到小不断比较看是否满足相减小于等于k,如果满足继续比较下组,直到不满足为止

代码部分

#include<iostream>#include<cmath>#include<cstdio>#include<algorithm>#include<cstring>#include<cassert>using namespace std;int n,K,A[110000];int main(){    int t;    scanf("%d",&t);    assert(1<=t&&t<=100);    for (; t; t--)    {        scanf("%d%d",&n,&K);        for (int i=1; i<=n; i++)        {            scanf("%d",&A[i]);        }        sort(A+1,A+n+1);        int ans=n;        for (int i=n; i>1; i--)            if (A[i]-A[i-1]>K)            {                ans=n-i+1;                break;            }        printf("%d\n",ans);    }    return 0;}
原创粉丝点击