比赛 20161114 评测结果 WAAWWAWWWW
题目名称 社长的qwa 最终得分 30
用户昵称 123 运行时间 0.179 s
代码语言 C++ 内存使用 2.22 MiB
提交时间 2016-11-14 10:56:36
显示代码纯文本
#include <iostream>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <vector>
using namespace std;
int n,m,ans,ansb;
int ya[100015]={0},yb[100015]={0},yc[100015]={0};
int dian[100015]={0};
int xiangjia[100015]={0};
int main(){
	freopen ("qwa.in","r",stdin);
	freopen ("qwa.out","w",stdout);
	int a,b,c,d,f,g;
	cin>>n>>m;
	for(a=1;a<=n;a++)
	{
		cin>>ya[a];
	}
	sort(ya,ya+n+1);
	for(a=1;a<=n;a++)
		yb[a]=max(ya[a],ya[a+1])-min(ya[a],ya[a+1]);
	
	ans=0x7FFFFFFF;
	for(a=1;a<=n-m+1;a++)
	{
		ansb=0;
		for(b=a;b<=a+m-1;b++)
		{
			ansb=ansb+yb[b];
		}
		if(ansb<ans)
		{
			ans=ansb;
			d=a;
		}
	}
	
	for(a=m+d-2;a>=d;a--)
	{
		xiangjia[a-d+1]=xiangjia[a-d+2]+yb[a];
	}
	
	int jia;
	jia=1;
	ans=0;
	for(b=d+m-2;b>=1;b--)
	{
		dian[b]=(xiangjia[b]-xiangjia[b+1])*jia+dian[b+1];
		ans=ans+dian[b];
		jia++;
	}
	cout<<ans;
	return 0;
}