C. 完全背包恰好装满

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

N 种物品和一个容量为 V 的背包,每种物品都有无限件可用。第 i 种物品的体积是 c ,价值是 w

求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。

本题要求是,恰好装满背包时,求出最大价值总和是多少。如果不能恰好装满背包,输出NO

输入格式

第一行: N 表示有多少组测试数据( N<7 )。 接下来每组测试数据的:

第一行有两个整数 M,V M 表示物品种类的数目, V 表示背包的总容量。( 0<M<=2000,0<V<=50000 )

接下来的 M 行,每行有两个整数 c w ,分别表示每种物品的重量和价值( 0<c<100000,0<w<100000 )

输出格式

对应每组测试数据输出结果(如果能恰好装满背包,输出装满背包时背包内物品的最大价值总和。 如果不能恰好装满背包,输出NO)。

样例

样例输入:

2
1 5
2 2
2 5
2 2
5 1

样例输出:

NO
1