牛牛与世界杯门票:存在问题
for(inti=1; i<=n; i++) dp[i]=i*k;
原因:上面代码没有将dp[0]赋值,导致dp[0]的值未知,应该赋值为0。再执行之后的代码时:
if(i-y>=0) dp[i]=min(dp[i],dp[i-y]+x);
如果恰好出现 i == y的情况,就会出现错误。