讨论 / Pascal AC 纪念
lani711 2016-03-15 22:49:13
点我顶贴 收藏 删除
const maxn=101;

oo=100000000;

var f:array[0..maxn,0..maxn] of longint;

a,b:array[0..maxn] of longint;

ans,m,n,k,i,j:Longint;

procedure swap(var a,b:longint);

var t:longint;

begin

t:=a; a:=b; b:=t;

end;

function min(a,b:longint):longint;

begin

if a>b then exit(b); exit(a);

end;

begin

readln(n,k);

for i:=1 to n do read(a[i],b[i]);

for i:=1 to n-1 do

for j:=i+1 to n do

if a[i]>a[j] then

begin

swap(a[i],a[j]);

swap(b[i],b[j]);

end;

for i:=1 to n do

for j:=2 to min(n-k,i) do

begin

f[i,j]:=oo;

for m:=j-1 to i-1 do

f[i,j]:=min(f[i,j],f[m,j-1]+abs(b[m]-b[i]));

end;

ans:=oo;

for i:=n-k to n do

ans:=min(ans,f[i,n-k]);

writeln(ans);

end.

查看更多回复
提交回复