思路
动态规划,三维dp,dp[i][j][0] 代表在考虑前 i 个商品的基础上,总共花费了 j 元时能得到的最大的喜爱度,dp[i][j][1] 代表相同条件的基础上第 i 个商品用原价购买时的最大喜爱度。
dp[i][j][0]=max(dp[i−1][j−a[i]][0]+b[i],dp[i−1][j−a[i]][1]+b[i])
dp[i][j][1]=max(dp[i][j][0],dp[i−1][j−a[i]/2][0]+b[i],dp[i−1][j][1])
在dp更新过程中得到最大值即可