QOJ.ac

QOJ

実行時間制限: 1.0 s メモリ制限: 256 MB 満点: 100

#10175. 团队训练

統計

今天,Amir 和来自哈萨克斯坦的教练 Timo 又进行了一次训练。

今天,Timo 的训练课上有 $3n$ 名学生。每名学生都有一个编号 $i$,以及一个对应的水平值 $p_i$。值得注意的是,所有学生的水平值各不相同。

通常,Timo 会将学生分成若干个三人小组。但今天他决定改变规则,将学生分成三个大队。他的分配方式如下:他从列表中选择三个连续的学生,并将他们分别分配给三个大队。第一个学生被分到第一大队,第二个学生被分到第二大队,第三个学生被分到第三大队。然后,他将这三名学生从列表中划掉,并重复此过程,直到所有学生都被分配完毕。

大队的水平值由该队所有成员的水平值之和决定。Timo 希望最大化第一大队的水平值。如果存在多种方案能使第一大队的水平值最大,他会选择其中能使第二大队水平值最大的方案。如果仍然存在多种方案,他会选择其中能使第三大队水平值最大的方案。

例如,考虑学生列表 $[3, 1, 5, 4, 2, 6]$。假设 Timo 先选择 $[1, 5, 4]$,然后选择 $[3, 2, 6]$。结果,各队的水平值为 $[1+3, 5+2, 4+6] = [4, 7, 10]$。然而,如果 Timo 先选择 $[5, 4, 2]$,然后选择 $[3, 1, 6]$,各队的水平值将为 $[8, 5, 8]$,根据上述准则,这是一种更好的分配方案。

请找出 Timo 在最优分配方案下各队的水平值。

输入格式

第一行包含一个整数 $t$ ($1 \le t \le 10^5$),表示测试用例的数量。每个测试用例包含: 第一行包含一个整数 $n$ ($1 \le n \le 10^5$),表示学生人数的 $1/3$。 第二行包含 $3n$ 个不同的整数 $p_1, p_2, \dots, p_{3n}$ ($1 \le p_i \le 3n$),表示学生的水平值。

保证所有测试用例中 $n$ 的总和不超过 $10^5$。

输出格式

输出一行,包含三个整数,分别表示最优分配方案下第一、第二和第三大队的水平值。

样例

输入 1

2
1
2 3 1
2
3 1 5 4 2 6

输出 1

2 3 1
8 5 8

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.