比赛 |
20101119 |
评测结果 |
AAAAAAAAAA |
题目名称 |
象棋比赛 |
最终得分 |
100 |
用户昵称 |
ZhouZn1 |
运行时间 |
0.000 s |
代码语言 |
Pascal |
内存使用 |
0.00 MiB |
提交时间 |
2010-11-19 08:52:06 |
显示代码纯文本
program zzn;
type
arr=array[1..100000]of longint;
var
n,i,j,k,ans:longint;
a,b:arr;
procedure init;
begin
assign(input,'chess.in');
reset(input);
assign(output,'chess.out');
rewrite(output);
readln(n,k);
for i:=1 to n do readln(a[i]);
end;
procedure closef;
begin
close(input);
close(output);
end;
procedure swap(var a,b:longint);
var
t:longint;
begin
t:=a;
a:=b;
b:=t;
end;
procedure qsort(var a:arr;l,r:longint);
var
k,i,j:longint;
begin
i:=l;j:=r;
k:=a[(i+j)shr 1];
repeat
while a[i]<k do inc(i);
while a[j]>k do dec(j);
if i<=j then
begin
swap(a[i],a[j]);
inc(i);
dec(j);
end;
until i>=j;
if i<r then qsort(a,i,r);
if j>l then qsort(a,l,j);
end;
procedure main;
begin
qsort(a,1,n);
for i:=2 to n do
b[i-1]:=a[i]-a[i-1];
qsort(b,1,n-1);
ans:=0;
for i:=1 to k do inc(ans,b[i]);
writeln(ans);
end;
begin
init;
main;
closef;
end.