#abc0173. [abc017_3]ハイスコア
[abc017_3]ハイスコア
问题描述
高桥君非常喜欢一款游戏。
这款游戏中有 个遗迹,可以按照喜好的顺序进行探索。每个遗迹都有一个从 到 的编号。
在游戏中可以获得宝石。宝石共有 种,编号从 到 。
通过探索遗迹可以获得得分和一些宝石奖励。探索遗迹 可以获得 分,并获得编号从 到 的所有宝石各一个。不能多次探索同一个遗迹。
获得的宝石不能丢弃,如果获得了所有种类的宝石至少一颗,那么会触发魔王复活事件。魔王复活时原本应该获得的得分会消失。
高桥君的目标是尽可能获得高得分,通过选择合适的遗迹探索方式,使得在魔王不复活的情况下获得的得分总和最大。
能够获得的最大得分是多少。
输入
输入以以下格式从标准输入中给出:
:
- 第一行是两个整数 和 ,以空格分隔,表示有 个遗迹和 种宝石。
- 第二行到第 行每行包含三个整数 , 和 ,表示探索遗迹 可以获得 分,以及获得编号从 到 的所有宝石各一个。
配点和部分点
本问题满分为 101 分,其中部分分数可获得。
- 若通过数据集 (满足 且 ),将获得 分。
- 若通过数据集 (满足 且 ),将额外获得 分。
- 若通过无附加限制的数据集 ,将额外获得 分。
输出
输出在魔王不复活的情况下,能够获得的最大得分。输出末尾包含换行符。
示例
输入示例1
4 6
1 3 30
2 3 40
3 6 25
6 6 10
输出示例1
80
例如,按以下顺序探索 个遗迹:
- 探索遗迹 。获得 分,获得宝石 、 和 。
- 探索遗迹 。获得 分,获得宝石 和 。
- 探索遗迹 。获得 分,获得宝石 。
最终获得的宝石种类为 种(宝石 、、 和 ),魔王不会复活。总得分为 分,这是最大值。
输入示例2
2 7
1 3 90
5 7 90
输出示例2
180
探索所有遗迹后,魔王不复活。
输入示例3
1 4
1 4 70
输出示例3
0
无法通过合理的遗迹探索方式阻止魔王复活。