Rikka with Competition

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 772    Accepted Submission(s): 588

Problem Description

As we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Rikka some math tasks to practice. There is one of them:

A wrestling match will be held tomorrow. n players will take part in it. The ith player’s strength point is ai.

If there is a match between the ith player plays and the jth player, the result will be related to |ai−aj|. If |ai−aj|>K, the player with the higher strength point will win. Otherwise each player will have a chance to win.

The competition rules is a little strange. Each time, the referee will choose two players from all remaining players randomly and hold a match between them. The loser will be be eliminated. After n−1 matches, the last player will be the winner.

Now, Yuta shows the numbers n,K and the array a and he wants to know how many players have a chance to win the competition.

It is too difficult for Rikka. Can you help her?

 

Input

The first line contains a number t(1≤t≤100), the number of the testcases. And there are no more than 2 testcases with n>1000.

For each testcase, the first line contains two numbers n,K(1≤n≤105,0≤K<109).

The second line contains n numbers ai(1≤ai≤109).

 

Output

For each testcase, print a single line with a single number -- the answer.
 

Sample Input

2
5 3
1 5 9 6 3
5 2
1 5 9 6 3
 

Sample Output

5
1
 

Source

 
 //2017-09-22
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std; const int N = ; int n, arr[N], k; int main()
{
int T;
scanf("%d", &T);
while(T--){
scanf("%d%d", &n, &k);
for(int i = ; i < n; i++){
scanf("%d", &arr[i]);
}
sort(arr, arr+n);
int ptr = n-, ans = ;
while(ptr >= && arr[ptr]-arr[ptr-] <= k){
ptr--;
ans++;
}
printf("%d\n", ans+);
} return ;
}

最新文章

  1. Ubuntu apache2.4 设置虚拟主机
  2. 哪些HTML5特性值得期待
  3. [转]深入理解Java 8 Lambda(类库篇——Streams API,Collectors和并行)
  4. matlab实现的嵌套乘法、高精度、二分法
  5. Socket知识总结
  6. UML 结构图之包图 总结
  7. (转载)php获取mysql版本的几种方法小结
  8. redis(五)redis与Mybatis的无缝整合让MyBatis透明的管理缓存二
  9. POJ 3579- Median
  10. ARC forbids explicit message send of &#39;autorelease&#39;错误
  11. Android 创建虚拟机时“提示no system images installed for this target”
  12. MVC3/4/5/6 布局页及Razor语法及Route路由配置
  13. HBase MetaStore和Compaction剖析
  14. js 声明提升
  15. ORA-12638:Credential retrieval failed(身份证明检索失败)解决方法
  16. 解决eclipse新建项目看不到src/main/java目录办法
  17. javascript如何获取URL参数的值
  18. RPM软件包管理的查询功能 转
  19. C#.NET常见问题(FAQ)-索引器indexer有什么用
  20. Wireshark 捕捉本地数据 --WinPcap切换NPcap

热门文章

  1. 32 bit 与 64 bit 程序(1)如何识别?
  2. PB9.0连接sqlserver2008 R2
  3. 剑指offer编程题Java实现——面试题9斐波那契数列
  4. 踩了的Dockerfile的坑
  5. 优化版小程序canvas,增加失败逻辑,及完善文字
  6. 机器学习技法笔记:09 Decision Tree
  7. Go语言总结
  8. selenium+Python(select定位)
  9. JodaTimeUtil日期处理工具类(简单、实用)
  10. 从零开始学 Web 之 HTML(三)表单