jie
  • 板块学术版
  • 楼主5Z_tiansongyu
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/8/2 16:40
  • 上次更新2024/8/2 17:46:07
查看原帖
jie
969415
5Z_tiansongyu楼主2024/8/2 16:40

神秘金币(gold) 比赛题目 题目统计 全部提交 时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 256MB,其他语言 512MB 分数:100 描述

在一个古老的文明中,有一种神秘的金币。你是一名考古学家,偶然发现了这个文明的遗址,现在是时刻 0,有 � n 枚金币同时被发现。第 � i 枚金币会在 � � t i ​ 时刻后消失,它的价值是 � � v i ​ 。然而,由于地形和其他条件的限制,你每个时刻只能收集一枚金币。此外,你的背包有限,你最多只能收集 � k 枚金币。现在,你面前有 � n 枚金币,你的任务是确定如何选择金币,以便在收集的金币数量不超过 � k 的前提下,最大化你可以获取的金币价值总和。注意:金币被收集到背包之后就不会消失了。

输入描述

第一行包含两个整数 � n 和 � k,表示金币的数量和你最多可以收集的金币数量。 第二行包含 � n 个整数 � � t i ​ ,表示每枚金币的存在时间。( 1 ≤ � � ≤ � 1≤t i ​ ≤n 且所有 � � t i ​ 不重复) 第三行包含 � n 个整数 � � v i ​ ,表示每枚金币的价值。

输出描述

输出一个整数,表示你最多可以获取的金币价值总和。

用例输入 1

5 2 1 2 4 3 5 3 2 1 2 2 用例输出 1

5 用例输入 2

4 2 1 3 4 2 4 1 3 2 用例输出 2

7 提示

大样例 神秘金币sample.zip

样例1说明 你可以在第一个单位时间收集价值为 3 的金币,然后在第二个单位时间收集价值为 2 的金币,所以最大的金币价值总和是 5。

备注 每组数据点 10 分,共 10 组数据。其中 1 ≤ � � ≤ � 1≤t i ​ ≤n 且保证不重复。

数据点编号 � n 的范围 � � v i ​ 的范围 1−2 1 ≤ � ≤ 20 1≤n≤20 �

1 、 1 ≤ � � ≤ 100 k=1、1≤v i ​ ≤100 3−4 1 ≤ � ≤ 1 0 3 1≤n≤10 3

1 ≤ � ≤ � 、 1 ≤ � � ≤ 1 0 3 1≤k≤n、1≤v i ​ ≤10 3

5−10 1 ≤ � ≤ 1 0 5 1≤n≤10 5

1 ≤ � ≤ � 、 1 ≤ � � ≤ 1 0 6 1≤k≤n、1≤v i ​ ≤10 6

2024/8/2 16:40
加载中...