logo AlgoBeat OnlineJudge
登录 注册

#216281. [ICPC 2023 Jinan R] 铁路环游

内存限制:128 MiB 时间限制:3000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

《铁路环游》是一款以铁路为主题的德式桌游。在游戏中,玩家需要打出火车卡并在地图上建造铁路。建造出的铁路长度以及玩家是否能连通较远的城市决定了得分,其中需要连通的城市由抽取的车票卡决定。

:::align{center}

BoardGameGeek 用户 @garyjames 拍摄的照片 :::

考虑游戏的一维版本。有 座城市排成一行,从左到右编号从 。对于每个 ,您可以在城市 与城市 之间放置一条铁路以连通它们。

张车票卡用于奖励玩家连通城市的行为。第 张卡可以记为三个整数 ,表示如果城市 可以通过铁路连通(也就是说,对于所有 ,城市 之间都有一条铁路),您将获得 分。

对于每个 ,计算您恰好放置了 条铁路的最大得分。如果没有获得任何奖励,您的得分为

输入格式

有多组测试数据。第一行输入一个整数 表示测试数据组数,对于每组测试数据:

第一行输入两个整数 )表示您可以放置铁路的最大数量以及用于奖励的车票卡数量。

对于接下来 行,第 行输入三个整数 )表示如果城市 可以通过铁路连通,您将获得 分。

保证所有数据 之和与 之和均不超过

输出格式

每组数据输出一行 个由单个空格分隔的整数,其中第 个整数表示您恰好放置了 条铁路的最大得分。

请不要在行末输出多余空格,否则您的答案可能会被认为是错误的!

样例

样例输入 1

2
4 3
0 2 3
3 4 2
0 3 1
3 1
1 3 100

样例输出 1

2 3 5 6
0 100 100

数据范围与提示

表示一条位于城市 之间的铁路。对于第一组样例数据:

  • 如果您放置 条铁路,您可以放置 ,然后获得第二个奖励。答案是
  • 如果您放置 条铁路,您可以放置 ,然后获得第一个奖励。答案是
  • 如果您放置 条铁路,您可以放置 ,然后获得第一和第二个奖励。答案是
  • 如果您放置了所有 条铁路,可以获得所有奖励。答案是