记录编号 |
13144 |
评测结果 |
AAAAAAAAAA |
题目名称 |
筷子 |
最终得分 |
100 |
用户昵称 |
.Xmz |
是否通过 |
通过 |
代码语言 |
Pascal |
运行时间 |
0.004 s |
提交时间 |
2009-09-28 20:35:45 |
内存使用 |
0.15 MiB |
显示代码纯文本
program xmz;
var
f1,f2:text;
n,k,a,b,sh,min,mm,t,ss:longint;
x:array[1..100]of longint;
f:array[0..100,0..100]of longint;
begin
assign(f1,'chop.in');assign(f2,'chop.out');
reset(f1);rewrite(f2);
read(f1,n,k);
if n<(k+3)*2 then write(f2,'-1') else
begin
for a:=1 to n do
read(f1,x[a]);
for a:=1 to n-1 do
for b:=a+1 to n do
if x[a]>x[b] then begin t:=x[a];x[a]:=x[b];x[b]:=t; end;
for a:=1 to n do
for b:=1 to n do
f[a,b]:=99999999;
f[1,1]:=0;f[2,1]:=sqr(x[1]-x[2]);
for b:=1 to k+3 do
for a:=3 to n do
if a>=b*2 then
begin
f[a,b]:=f[a-1,b];
if f[a,b]>f[a-2,b-1]+sqr(x[a]-x[a-1]) then
f[a,b]:=f[a-2,b-1]+sqr(x[a]-x[a-1]);
end;
writeln(f2,f[n,k+3]);
end;
close(f1);close(f2);
end.