您的位置:首页 > 其它

杭电acm2523

2015-11-06 22:35 441 查看
#include <stdio.h>
#include <string.h>
#include <math.h>

int main() {

int book[4001], d[1001], b[4001];
int c, n, k, i, j, temp, max, ids;
scanf("%d", &c);
while(c--) {
scanf("%d%d", &n, &k);
memset(book, 0, sizeof(book));
memset(b, 0, sizeof(b));
for(i=0; i<n; i++)
scanf("%d", &d[i]);
//使用桶排序记录组合数
max = -1;
for(i=0; i<n; i++)
for(j=i+1; j<n; j++) {
temp = abs(d[j] - d[i]);
book[temp] = 1;
if(max<temp)
max = temp;
}
//按顺序保存组合数
ids = 0;
for(i=0; i<=max; i++)
if(book[i] == 1) {
b[ids++] = i;
}

printf("%d\n", b[k-1]);
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: