#include <cstdio>
//01背包问题
for(int i=1;i<=n;++i)
{
for(int v=w[i];v<=V;++v)
{
//有两种选择,选第i件物品,不选第i件物品
dp[i][v]=max(dp[i-1][v],dp[i-1][v-w[i]]+c[i]);
}
}
//利用滚动数组进行空间优化
for(int i=1;i<=n;++i)
{
for(int v=V;v>=w[i];--v)//逆序枚举v
{
dp[v]=max(dp[v],dp[v-w[i]]+c[i]);
}
}