iliya785

knapsack(dp)

May 22nd, 2012
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 0.42 KB | None | 0 0
  1. var
  2.     f:array[0..1000,0..1000] of int64;
  3.     w:array[0..1000] of int64;
  4.     i,j,n,m,r:longint;
  5.  
  6. function max(a,b:longint):longint;
  7.  begin
  8.    if a>b then
  9.       max:=a
  10.    else
  11.    max:=b;
  12.  end;
  13.  
  14. Begin
  15.   read(n,m);
  16.   for i:=1 to n do
  17.     read(w[i]);
  18.  for i:=1 to n do
  19.    for j:=1 to m do
  20.      if (j >= w[i]) then
  21.         f[i][j]:=max(f[i-1][j],f[i-1][j-w[i]] + w[i])
  22.     else
  23.     f[i][j]:=f[i-1][j];
  24. end.
Advertisement
Add Comment
Please, Sign In to add comment