#include<stdio.h>
#define ll long long
#define MOD 1000000007
#define base 1000000
int n, k;
int in[10], data[10];
void quickSort(int x[], int L, int R)
{
int i = L, j = R, tmp;
int pivot = x[(L + R) / 2];
while (i <= j)
{
while (x[i] > pivot)
i++;
while (x[j] < pivot)
j--;
if (i <= j)
{
tmp = x[i];
x[i] = x[j];
x[j] = tmp;
i++, j--;
}
}
if (L < j)
quickSort(x, L, j);
if (i < R)
quickSort(x, i, R);
}
int main(void)
{
int tc;
freopen("input.txt", "r", stdin);
scanf("%d\n", &tc);
for (int e = 1; e <= tc; e++) {
scanf("%d", &n);
scanf("%d", &k);
for (int i = 0; i < n; i++) {
scanf("%d", &in[i]);
}
quickSort(in, 0, n - 1);
int len = 0;
for (int i = n - 2; i > -1; i--)
if (in[i] != in[i + 1])
data[len++] = in[i] - in[i + 1];
quickSort(data, 0, len - 1);
int ret = 0;
if (k == 0) {
printf("0\n");
continue;
}
for (int i = k - 1; i < len; i++) // 떨어진 구간이 4개 이므로, 3개를 연결하면 됨, 제일 먼 것 하나를 제거함
ret += data[i];
printf("%d\n", ret);
}
return 0;
}
댓글