记录编号 349261 评测结果 AAAAAAAAAA
题目名称 社长的qwa 最终得分 100
用户昵称 GravatarArrow 是否通过 通过
代码语言 C++ 运行时间 0.019 s
提交时间 2016-11-14 20:41:20 内存使用 0.70 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#define INF 100010
using namespace std;
inline int read()
{
	int x=0,f=1;
	char ch=getchar();
	while(!isdigit(ch)){
		if(ch=='-')
			f=-1;
		ch=getchar();
	}
	while(isdigit(ch)){
		x=(x<<1)+(x<<3)+ch-'0';
		ch=getchar();
	}
return f*x;
}
/*****************************************************************/
    int a[INF]={0};
	int n,k;
int main()
{
	freopen("qwa.in","r",stdin);
	freopen("qwa.out","w",stdout);
	n = read();k = read();
	long long step = 0, min = 0,s=0,sdt=0;
	for(int i = 1; i <= n; i++) {
		a[i] = read();
	}
	sort(a+1,a+n+1);
	for(int i=1;i<=k;i++)
	{
		s=s+a[i];
		step=step+(long long)(i-1)*a[i]-sdt;
		sdt=sdt+a[i];
	}
	s=s-(long long)a[1];
	min=step;
	for(int i=1;i<=n-k;i++)
	{
		step=step-(s-((long long)(k-1)*a[i]))+(long long)(k-1)*a[i+k]-s;
		s=s+a[i+k];s=s-a[i+1];
		if(step<min)
			min=step;
	}
	cout<<min<<endl;
	return 0;
}