SORT AGAIN

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3483    Accepted Submission(s): 1110

Problem Description
给你N个整数,x1,x2...xn,任取两个整数组合得到|xi-xj|,(0<i,j<=N,i!=j)。 现在请你计算第K大的组合数是哪个(一个组合数为第K大是指有K-1个不同的组合数小于它)。
 
Input
输入数据首先包含一个正整数C,表示包含C组测试用例. 每组测试数据的第一行包含两个整数N,K。(1<N<=1000,0<K<=2000) 接下去一行包含N个整数,代表x1,x2..xn。(0<=xi<=2000)
 
Output
对于每组测试数据,请输出第K大的组合数,每个输出实例占一行。
 
Sample Input
3
3 2
4 0 7
4 2
1 2 3 4
2 1
2 9
 
Sample Output
4
2
7
 
题意:给你N个数,运用组合数的原理,取第K个数,
 
思路  :  把和装起来,排序(从小到大),但是值得注意的是,当差相同时,只能算一个;
 
 
详见代码:
 
#include<cstdio>//坑!重复的数字居然算一次,,,不解释。
#include<cmath>
#include<cstdlib>
#include<iostream>
#include<algorithm>
using namespace std; int cmp(int x,int y)
{
return x<y;
}
int main()
{
int num[],x[],a[];
int i,j,n,k,T,t;
scanf("%d",&T);
while(T--)
{
memset(num,,sizeof(num));
scanf("%d%d",&n,&k);
for(i=;i<n;i++)
scanf("%d",&x[i]);
t=;
for(i=;i<n-;i++)
for(j=i+;j<n;j++)
{
int temp=fabs(x[i]-x[j]);
num[temp]=;
}
for(i=;i<;i++)
if(num[i])
a[t++]=i;
printf("%d\n",a[k-]);
}
return ;
}

最新文章

  1. 日期格式 CST
  2. 3D旋转菜单
  3. HAProxy配置SSL
  4. 配置org.springframework.scheduling.quartz.CronTriggerBean (转载)
  5. asp.net GridView控件中诗选全选和全不选功能
  6. tableviewCell折叠状态1
  7. in_array()和explode()的使用笔记
  8. 小菜学习MVC4-WebApi
  9. Media Queries——媒体类型
  10. Android 图片缩放
  11. android 19 activity纵横屏切换的数据保存与恢复
  12. Linux进程学习(孤儿进程和守护进程)
  13. 【Python爬虫】安装 pyQuery 遇到的坑 Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
  14. (转)ultraedit for linux 安装与注册破解
  15. 编写一个程序实现strcmp函数的功能
  16. 不起眼的 z-index 却能牵扯出这么大的学问(转)
  17. Ubuntu上用mod_wsgi部署Django出现的一些问题
  18. xamarin android listview的用法
  19. [BOI2004]Sequence 数字序列(左偏树)
  20. h5或者微信端吊起app

热门文章

  1. 【BZOJ4819】 新生舞会(01分数规划,费用流)
  2. Jmeter 结构、原理介绍
  3. nsurlsessiond - taking up all bandwidth!! Help ?
  4. spring cloud 学习(6) - zuul 微服务网关
  5. golang 并发顺序输出数字
  6. Twisted 框架 初印象
  7. CentOS 6(64-bit) + Nginx搭建静态文件服务器
  8. c++如何解决大数组栈内存不够的问题
  9. gvim配置相关
  10. .Net 鉴权授权