0
点赞
收藏
分享

微信扫一扫

蓝桥杯—公交汽车

我阿霆哥 2022-02-07 阅读 47

题目描述

一个特别的单行街道在每公里处有一个汽车站。顾客根据他们乘坐汽车的公里使来付费。例如下表就是一个费用的单子。 没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1< =n< =100),它可以通过无限次的换车来完成旅程。最后要求费用最少。

输入

第一行十个整数分别表示行走1到10公里的费用(< =500)。注意这些数并无实际的经济意义,即行驶10公里费用可能比行驶一公里少。 第二行一个整数n表示,旅客的总路程数。

输出

仅一个整数表示最少费用。

样例输入

12 21 31 40 49 58 69 79 90 101
15

样例输出

147

lit = list(map(int, input().split()))
num = int(input())
dp = [0] * (num + 1)	# 存储每多少公里的最少费用
for i in range(1, len(dp)):
    dp[i] = 10000
    for j in range(10):
        l = j + 1
        if i >= l:
            dp[i] = min(dp[i - l] + lit[j], dp[i])
        else:break

print(dp[num])

举报

相关推荐

公交汽车

题目 1282: 公交汽车

蓝桥杯,,,,,,

【蓝桥杯】

蓝桥杯练习

蓝桥杯自用

【蓝桥杯】旋转

蓝桥杯模板

0 条评论