华为OD机试 E卷|虚拟理财游戏

algorithm-geek / 2025-02-21 / 原文

华为OD机试E卷|虚拟理财游戏

0、关于本专栏 & 刷题交流群

本文收录于专栏【2024华为OD机试真题】,专栏共有上千道OD机试真题,包含详细解答思路、与四种代码实现(Python、Java、C++、JavaScript)。

点击文末链接加入【华为OD机试交流群】,和群友一起刷题备考。刷的越多,考试中遇到原题的概率就越大,永久、实时更新新题目。

1、题目详情

问题描述

在一款虚拟游戏中生活, 你必须进行投资以增强在虚拟游戏中的资产以免被淘汰出局.

现有一家Bank, 它提供有若干理财产品 m 个, 风险及投资回报不同, 你有 N (元) 进行投资, 能接收的总风险值为X.

你要在可接受范围内选择最优的投资方式获得最大回报.

备注:

  • 在虚拟游戏中, 每项投资风险值相加为总风险值
  • 在虚拟游戏中, 最多只能投资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

示例输出1

0 30 0 40 0

详细解题思路、及代码实现可以订阅我的CSDN专栏:最最最新华为OD机试真题