多校5 HDU-6095 Rikka with Competition

来源:互联网 发布:a5淘宝客 编辑:程序博客网 时间:2024/06/02 01:58

水题
原题链接:
HDU-6095

大意:
摔跤比赛,n 个人的能力为 ai,随机两两举办 n-1 场淘汰赛,当 abs(aiaj)>K 时,大的那个人获胜,输的人淘汰,否则两个人都有机会获胜(即不产生输赢)。现在问结果有多少种可能性。

思路:一开始被英文题绕死。
考虑最优情况。
这里写图片描述

代码实现:

#include <bits/stdc++.h>using namespace std;typedef long long ll;#define mem(s,t) memset(s,t,sizeof(s))#define D(v) cout<<#v<<" "<<v<<endl#define inf 0x3f3f3f3f//#define LOCALinline void read(int &x){    x=0;char p=getchar();    while(!(p<='9'&&p>='0'))p=getchar();    while(p<='9'&&p>='0')x*=10,x+=p-48,p=getchar();}const int N =1e5+10;int a[N];int main() {#ifdef LOCAL    freopen("in.txt","r",stdin);    freopen("out.txt","w",stdout);#endif    int t;    read(t);    while(t--){        int n,K;        read(n);read(K);        for(int i=1;i<=n;i++){            read(a[i]);        }        sort(a+1,a+n+1);        int i;        for(i=n;i>1;i--){            if(a[i]-a[i-1]>K){                break;            }        }        printf("%d\n",n-i+1);    }    return 0;}
原创粉丝点击