#include <stdio.h>
#include <stdlib.h>
int compare(const void *a, const void *b) {
return (*(int*)b - *(int*)a); // sort descending
}
int maxSumK(int arr[], int n, int k) {
qsort(arr, n, sizeof(int), compare);
int sum = 0;
for (int i = 0; i < k; i++)
sum += arr[i];
return sum;
}
int main() {
int arr[] = {11, 2, 4, 9, 3, 6, 5, 1};
int size = sizeof(arr) / sizeof(arr[0]);
int k = 3;
int result = maxSumK(arr, size, k);
printf("Maximum sum = %d\n", result);
return 0;
}
/*
run:
Maximum sum = 26
*/