180. 华为OD-虚拟理财游戏(100分)

难度 2
  • 标签:
  • 华为OD真题100分题型
题目描述
题解
题库

华为OD-虚拟理财游戏(100分)

题目描述

在一款虚拟游戏中生活,你必须进行投资以增强在虚拟游戏中的资产以免被淘汰出局。现有一家 Bank,它提供有若干理财产品 mm 个,风险及投资回报不同,你有 NN(元)进行投资,能接收的总风险值为 XX。你要在可接受范围内选择最优的投资方式获得最大回报。

备注

  • 在虚拟游戏中,每项投资风险值相加为总风险值;
  • 在虚拟游戏中,最多只能投资 2 个理财产品;
  • 在虚拟游戏中,最小单位为整数,不能拆分为小数;
  • 投资额 * 回报率 = 投资回报

输入描述

第一行:

  • 产品数(取值范围 [1, 20])
  • 总投资数(整数,取值范围 [1, 10000])
  • 可接受风险值序列(整数,取值范围 [1, 200])

第二行:产品投资回报率序列,输入为整数,取值范围 [1, 60]

第三行:产品风险值序列,输入为整数,取值范围 [1, 100]

第四行:最大投资额度序列,输入为整数,取值范围 [1, 10000]

输出描述

每个产品的投资序列

样例1

输入

5 100 10
10 20 30 40 50
3 4 5 6 10
20 30 20 40 30

输出

0 30 0 40 0

说明:投资第二项 30 个单位,第四项 40 个单位,总的投资风险为两项相加为 4 + 6 = 10。这意味着选择了两个理财产品,使得总风险正好等于可以接受的风险值,并且通过这两个产品的投资获得了相应的回报。这里的回报并未直接给出,但根据选择的产品和投资额度,我们可以计算出总的回报值。在这个例子中,重点在于展示了如何在限制条件下选择投资组合来满足条件。