比赛 20161114 评测结果 WAAWWAWWWW
题目名称 社长的qwa 最终得分 30
用户昵称 dududu 运行时间 0.033 s
代码语言 C++ 内存使用 0.86 MiB
提交时间 2016-11-14 11:15:00
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;

const int KN = 1e5+10;
#define LL long long
int N,K;
LL data[KN];
void work(){
	
	scanf("%d %d",&N,&K);
	for(int i=1;i<=N;i++) scanf("%lld",&data[i]);
	sort(data+1,data+1+N); 
	
	LL ans=0,sum=0,least=0,pos,ave;
	for(int i=1;i<=K;i++) sum+=data[i];
	ave=sum/K;
	
	for(int i=1;i<=K;i++){
		if(ave*K==sum&&data[i]==ave){
			for(int j=1;j<=K;j++) ans+=abs(data[j]-data[i]);
		}else ans+=abs(sum-K*data[i]);
	}
	ans>>=1;
	
	for(int i=K+1;i<=N;i++){
		LL res1=(sum-K*data[i-K]);
		sum-=data[i-K];
		sum+=data[i];
		ans=min(ans,ans-abs(res1)+abs(sum-K*data[i]));
	}
	printf("%lld",ans);
}

int main(){
	freopen("qwa.in","r",stdin);
	freopen("qwa.out","w",stdout);
	work();
	return 0;
}