Pagini recente » Cod sursa (job #3301913) | Autentificare | Cod sursa (job #524903) | Cod sursa (job #2998484) | Cod sursa (job #176399)
Cod sursa(job #176399)
type vector=array [1..16000] of integer;
var n,k,maxs:integer;
v:vector;
f,t:text;
procedure citire;
var i:integer;
begin
readln(f,n,k);
for i:=1 to n do readln(f,v[i]);
end;
procedure saltlmax;
var max,min,p,i:integer;
s:int64;
miv:vector;
begin
max:=0;
min:=v[1];
for i:=1 to n do
begin
if v[i]>max then max:=v[i];
if v[i]<min then min:=v[i];
end;
s:=max;
if maxs<>2 then
begin
p:=1;
miv[p]:=min;
for i:=1 to n do
if v[i]=min then v[i]:=0;
while maxs=2 do
begin
p:=p+1;
miv[p]:=16001;
for i:=1 to n do
if (v[i]<>0) and (miv[p]>v[i]) then miv[p]:=v[i];
for i:=1 to n do
if v[i]=miv[p] then v[i]:=0;
maxs:=maxs-1;
end;
for i:=1 to p do s:=s+miv[i];
end
else s:=s+min;
write(t,s);
end;
begin
assign(f,'transport.in');
assign(t,'transport.out');
reset(f);
rewrite(t);
citire;
maxs:=n div k;
saltlmax;
close(f);
close(t);
end.