弱弱的问道acm水题,不知道哪里不对……(本人很菜)

welon123 welon123 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
http://acm.hdu.edu.cn/showproblem.php?pid=2523
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
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int main()
{
int c, n, k, i, j, temp;
int a[1001];
vector <int> b;
cin >> c;
while(c--){
cin >> n >> k;
for(i = 0; i < n; i++)
cin >> a[i];
for(i = 0; i < n; i++)
for(j =i + 1; j < n; i++)
{
temp = abs(a[i] - a[j]);
b.push_back(temp);
}
sort(b.begin(), b.end());
cout << b[b.size() - k] << endl;
b.clear();
}
return 0;
}


...全文
评论 3
收藏 已收藏
分享
返回顶部
welon123
C++ 语言 65,214 成员 250,514 内容