记录编号 348775 评测结果 AAAAAAAAAA
题目名称 社长的qwa 最终得分 100
用户昵称 Gravatarcwm大佬%%% 是否通过 通过
代码语言 C++ 运行时间 0.013 s
提交时间 2016-11-14 16:24:45 内存使用 0.70 MiB
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;

const int N=100000+10;
typedef unsigned long long ll;

ll tot=0,lefT=0,righT=0,l=0,r=0;
int poS[N];

inline void righT_push(){
		righT+=(ll)(r-l+1)*(ll)(poS[r+1]-poS[r]);
		tot+=righT;
		lefT+=(ll)poS[++r]-poS[l];
}

inline void lefT_pop(){
		tot-=lefT;
		lefT-=(ll)(r-l)*(ll)(poS[l+1]-poS[l]);
		righT-=(ll)poS[r]-poS[l++];
}

int main()
{
		freopen("qwa.in","r",stdin);
		freopen("qwa.out","w",stdout);
		int n,k;
		scanf("%d%d",&n,&k);
		for(int i=0;i<n;i++)scanf("%d",&poS[i]);
		sort(poS,poS+n);
		//for(int i=0;i<n;i++)printf("%d ",poS[i]);puts("A");
		for(int i=1;i<k;i++)righT_push();
		ll out=tot;
		for(int i=k;i<n;i++){
				lefT_pop();
				righT_push();
				//cout<<tot<<' '<<lefT<<' '<<righT<<' '<<endl;
				if(tot<out)out=tot;
		}
		cout<<out;//printf("%d",out);
		return 0;
}