华为OD机试 Python 【静态扫描】

题目

每当我们扫描一个源代码文件,都需要支付一些金币。但是,如果你觉得某个文件后面还会经常出现,那你可以考虑多花一些金币,将它的扫描结果保存起来,这样下次再遇到它时就不用重新支付扫描费用了。

现在,你的挑战是:根据给出的文件序列和每个文件的大小,确定最省钱的策略,使得总花费的金币最少。

输入:
第一行:保存一个扫描报告的费用(M)
第二行:连续出现的文件的编号序列
第三行:每个文件的大小

输出:
你需要支付的最少金币数量
示例:

输入:

5
2 2 2 2 2 5 2 2 2
3 3 3 3 3 1 3 3 3
输出:9

代码

def calculate_cost(m, file_ids, file_sizes):
    file_data = {
   <

你可能感兴趣的:(华为od,python,开发语言)