2001年分区联赛普级组之四 装箱问题

来源:互联网 发布:linux ping不通网关 编辑:程序博客网 时间:2024/06/04 18:35

2001年分区联赛普级组之四 装箱问题

Time Limit:1000MS  Memory Limit:65536K
Total Submit:396 Accepted:217

Description

  有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30=,每个物品有一个体积(正整数)。

要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

Input

Output

Sample Input

24    一个整数,表示箱子容量6      一个整数,表示有n个物品8    接下来n行,分别表示这n 个物品的各自体积312797

Sample Output

0  一个整数,表示箱子剩余空间。
  • var        f,a:array[0..20000]of longint;        n,i,j,k,v:longint;function max(a,b:longint):longint;begin        if a>b then exit(a)        else exit(b);end;begin        readln(v);        readln(n);        for i:=1 to n do                readln(a[i]);        for i:=1 to n do                for j:=v downto a[i] do                        f[j]:=max(f[j],f[j-a[i]]+a[i]);    writeln(v-f[v]);end.

0 0