题目
分析
代码
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn = 3e5+10;
int a[maxn];
ll dp[maxn];
int main()
{
int n,k; cin>>n>>k;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+1+n);
ll pre = -a[1];
for(int i=1;i<k;i++) dp[i] = 1e18;
dp[k] = a[k] - a[1];
for(int i=k+1;i<=n;i++)
{
dp[i] = pre + a[i];
pre = min(pre,dp[i-k+1] - a[i-k+2]);
}
cout<<dp[n]<<endl;
}