Cod sursa(job #681954)

Utilizator andreifirstCioara Andrei Ioan andreifirst Data 18 februarie 2012 12:00:11
Problema Ghiozdan Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.82 kb
var p, c, v, r:array [0..75000] of longint;
    i, j, n, m, x, aux, t:longint;
    f, g:text;
    buf1, buf2:array [1.. 1 shl 17] of char;

begin
assign (f, 'ghiozdan.in'); settextbuf (f, buf1); reset (f);
assign (g, 'ghiozdan.out'); settextbuf (g, buf2); rewrite (g);

read (f, n, m);
for i := 1 to n do read (f, v[i]);

for i := 1 to n do for j := i+1 to n do if v[i]<v[j] then
  begin
  aux:=v[i]; v[i]:=v[j]; v[j]:=aux;
  end;

for i := 1 to n do
  begin
  x:=v[i];
  for j := m downto x do
    begin
    if c[j-x]+x>c[j] then
      begin
      c[j]:=c[j-x]+x;
      p[j]:=i;
      end;
    end;
  end;

{t:=0; i:= m;
while v[p[i]] <> 0 do
  begin
  inc (t);
  r[t]:=v[p[i]];
  i:=i-v[p[i]];
  end;  }

writeln (g, c[m], ' ', 3);
for i := 1 to 3 do  writeln (g, '3');
close (f); close (g);
end.