华为OD机试 2023B卷题库疯狂收录中,刷题点这里
一、题目描述
某云短信厂商,为庆祝国庆,推出充值优惠活动。现在给出客户预算,和优惠售价序列,求最多可获得的短信总条数。
二、输入描述
- 第一行客户预算M,其中 0 ≤ M ≤ 10^6
- 第二行给出售价表, P1, P2, … Pn , 其中 1 ≤ n ≤ 100 ,
Pi为充值 i 元获得的短信条数。
1 ≤ Pi ≤ 1000 , 1 ≤ n ≤ 100
三、输出描述
最多获得的短信条数。
四、解题思路
- 读取输入的客户预算 budget 和优惠售价序列 list;
- 创建一个长度为 budget + 1 的数组 dp,用于存储在不同预算下可获得的最多短信条数;
- 使用动态规划计算最多获得的短信条数:
- 遍历优惠售价序列 list,对于每个售价 i,遍历从0到预算的所有金额