/ Vijos / 题库 /

背包

背包

时间限制:1秒  内存限制:256M


【题目描述】

  有\(N(1≤N≤20)\)个物品,第 \(i\) 个物品的重量为 \(w_i\)。
  小H有一些背包,它们的最承重量均为 \(C\)。
  要把这 \(N\) 个物品装完,最少需要多少个背包?
  请你帮助小H!!

【输入格式】

  第一行包含两个用空格分隔的 \(N\) 和 \(C\)。
  接下来的 \(N\) 行,每行一个整数,表示物品的重量 \(w_i(1≤wi≤C)\)。

【输出格式】

  一个整数,表示背包的最小数目。

【输入输出样例1】

 Input

4 10 
5 
6 
3 
7

 Output

3

【样例1解释】

  有四个物品,重量分别为 5、6、3和7 。背包的的最大承重量为10 。
  小H可以将重量为3的物品与其他任何一个物品放在同一个背包里,但其他三个物品太重,无法组合在一起。对于上述解决方案,第1个背包装入物品1和3,第2个背包装入物品2,第3个背包装入物品4。对于此输入,还有其他几种可能的解决方案。

【数据限制】

  对于 50% 的数据,有 \(1≤N≤12,1≤w_i≤C≤10^9\)。  
  对于 100% 的数据,有 \(1≤N≤20,1≤w_i≤C≤10^9\)。

【来源】

  Mr.he

信息

ID
3195
难度
9
分类
动态规划 | 搜索 点击显示
标签
递交数
4
已通过
1
通过率
25%
被复制
1
上传者