小明有一个容量为 VV 的背包。
这天他去商场购物,商场一共有 NN 件物品,第 ii 件物品的体积为 w_iwi,价值为 v_ivi。
小明想知道在购买的物品总体积不超过 VV 的情况下所能获得的最大价值为多少,请你帮他算算。
输入描述
输入第 11 行包含两个正整数 N,VN,V,表示商场物品的数量和小明的背包容量。
第 2sim N+12∼N+1 行包含 22 个正整数 w,vw,v,表示物品的体积和价值。
1leq Nleq10^21≤N≤102,1leq V leq 10^31≤V≤103,1 leq w_i,v_i leq10^31≤wi,vi≤103。
输出描述
输出一行整数表示小明所能获得的最大价值。
输入输出样例
示例 1
输入
5 20 1 6 2 5 3 8 5 15 3 3
输出
37
#include#include using namespace std; int d[101][1001],w[101],v[101]; const int M=1010; //int w[M],v[M]; //体积 / 价值 int f[M][M];//f[i][j], j体积下前i个物品的最大价值 int max(int a,int b) {if(a>b) return a; else return b; } int main() { int n,i,a,j; cin>>n>>a; for(i=1;i<=n;i++) cin>>w[i]>>v[i]; for(i=1;i<=n;i++) for(j=1;j<=a;j++) if(j



