注意 容量是会增加的
s=s+dp[s];
所以要一重循环
for(int time=1;time<=tim;time++) { for(int i=1;i<=n;i++) //n为债卷的数量 { for(int j=w[i];j<=s;j++) { dp[j]=max(dp[j],dp[j-w[i]]+c[i]); } } s=s+dp[s]; }
数据范围
int s,tim,n,dp[10000005],w[100005],c[100005];