https://ac.nowcoder.com/acm/contest/72445/M
很简单的一个校赛题 但是oj死活过不了 不知道为什么求解答
我的思路是用前缀和
#include<bits/stdc++.h>
using namespace std;
int a[1000010],n,k;
long long b[1000010];
int main(void){
while(scanf("%d %d",&n,&k) != EOF){
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
sort(a+1,a+n+1);
for(int i=1;i<=n;i++) b[i]=b[i-1]+(long long)a[i];
long long ans=LONG_LONG_MAX;
for(int i=k;i<=n;i++){
ans=min(k*a[i]-b[i]+b[i-k],ans);
}
printf("%lld\n",ans);
}
return 0;
}