题目解析
本题歌手必须从A到B,因此输入的第二行各个城市间的花费的路程时间之和roadCost是必须的,即可用于卖唱赚钱的时间 remain 为 T - roadCost。
我们需要规划 remain 时间,合理分配给各个城市,保证时间分配方案能够赚的钱最多。
按照题目意思,每个城市停留的第一天赚m钱,后面每天减少d,
每个城市停留Y天,那么这Y天中赚的钱是严格递减的,且最后一天(第Y天)赚的钱最少
假设歌手目前在X市
- 如果前面城市没有用完remain时间,那么当天可以停留在X市卖唱赚钱
- 如果前面城市已经用完remain时间,那么此时需要比较:
- 歌手选择在X市当天停留卖唱可以赚的钱 x
- 歌手前面时间中某天赚的最少的钱 y,由于每个城市停留天数中最后一天赚的钱最少,因此这里的y必然是前面某个城市最后一天赚的钱
如果 x > y,则我们应该将前面赚 y 钱的时间,空闲出来,用于当天赚 x 元,这种替换逻辑,不会改变歌手的行程顺序
如果 x <= y,则X市就没有必要待下去了,因为继续待下去赚的钱只会比x