64,282
社区成员
发帖
与我相关
我的任务
分享
#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;
}
//注意:(一个组合数为第K大是指有K-1个不同的组合数小于它)。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
bool them[2048];
int data[1024];
int main()
{
int cas;scanf("%d", &cas);
for (int caseID = 1, n, k; cas--; ++caseID)
{
scanf("%d%d", &n, &k);
for (int i = 0; i < n; ++i) scanf("%d", &data[i]);
memset(them, 0, sizeof them);
for (int i = 0; i < n; ++i) for (int j = i + 1; j < n; ++j)
them[abs(data[i] - data[j])] = 1;
int i = 0, id = 0;
for (; id < k; ++i) if(them[i]) if (++id == k) break;
printf("%d\n", i);
}
return 0;
}