记录编号 26903 评测结果 AAAAAAAAAA
题目名称 象棋比赛 最终得分 100
用户昵称 Gravatar201101 是否通过 通过
代码语言 C++ 运行时间 0.062 s
提交时间 2011-07-29 12:47:09 内存使用 0.64 MiB
显示代码纯文本
#include <stdio.h>
using namespace std;

int a[100001];

void swap(int &x,int &y)
{
	int temp;
	temp=x;
	x=y;
	y=temp;
}

void sortit(int l,int r)
{
	int i,j,temp;
	i=l;
	j=r;
	temp=a[(l+r)/2];
	while (i<=j)
	{
		while (a[i]<temp)
			i++;
		while (a[j]>temp)
			j--;
		if (i<=j)
		{
			swap(a[i],a[j]);
			i++;
			j--;
		}
	}
	if (l<j)
		sortit(l,j);
	if (i<r)
		sortit(i,r);
}

int main(void)
{
	freopen("chess.in","r",stdin);
	freopen("chess.out","w",stdout);
	int i,n,k,c=0;
	scanf("%d %d",&n,&k);
	for (i=1;i<=n;i++)
		scanf("%d",&a[i]);
	sortit(1,n);
	for (i=1;i<=n-1;i++)
		a[i]=a[i+1]-a[i];
	sortit(1,n-1);
	for (i=1;i<=k;i++)
		c+=a[i];
	printf("%d\n",c);
	fclose(stdin);
	fclose(stdout);
	return(0);
}