# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
28480 | 핑응핑응 홍신정 (#68) | Wine Tasting (FXCUP2_wine) | C11 | 1000 ms | 4744 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <stdio.h>
long long int t[300000];
int Partition(long long int num[], int p, int r) {
long long int x = num[r], tmp;
int i = p - 1;
int j;
for (j = p; j<r; j++) {
if (num[j] <= x) {
i = i + 1;
tmp = num[i];
num[i] = num[j];
num[j] = tmp;
}
}
tmp = num[i + 1];
num[i + 1] = num[r];
num[r] = tmp;
return i + 1;
}
void Quicksort(long long int num[], int p, int r) {
int q;
if (p<r) {
q = Partition(num, p, r);
Quicksort(num, p, q - 1);
Quicksort(num, q + 1, r);
}
}
int main() {
int num, k, i;
int start = 0, end;
long long int flavor = 0, tmp=0;
int flag = 1;
scanf("%d %d", &num, &k);
for (i = 0; i < num; i++) {
scanf("%lld", &t[i]);
}
Quicksort(t, 0, num - 1);
end = num-1;
while (k--) {
if (flag == 1) {
flavor += (t[end--]-tmp);
flag = 0;
}
else {
tmp = t[start++];
flag = 1;
}
}
printf("%lld", flavor);
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |