hdoj1587

Flowers


 1 //完全背包
 2 #include<iostream>
 3 #include<stdio.h>
 4 #include<string.h>
 5 
 6 using namespace std;
 7 int N, M, f[10000], V[1000];
 8 int main()
 9 {
10     while (scanf("%d%d"&N, &M) != EOF) {
11     memset(f, 0sizeof(f));
12     for (int i = 1; i <= N; ++i)
13         scanf("%d", V + i);
14     for (int i = 1; i <= N; ++i) {
15         for (int v = V[i]; v <= M; ++v) {
16         if (f[v - V[i]] + 1 > f[v])
17             f[v] = f[v - V[i]] + 1;
18         }
19     }
20     printf("%d\n", f[M]);
21     }
22 }


posted @ 2010-05-09 19:40  open source  阅读(127)  评论(0编辑  收藏  举报