#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    int n,k;
    cin >> n >> k;
    vector<int> v(n);
    for(int i=0;i<n;i++)cin >> v[i];
    sort(v.begin(),v.end());
    long long int ans=0;
    for(int i=0;i<k;i++)ans+=v[n-1-i]-v[i];
    cout << ans << endl;
}
// 64 位输出请用 printf("%lld")
  • 很容易可以知道,分成k组的f(i)的和就是最大的k个数的和减去最小的k个数的和