#AT2139. G - Dream Team

G - Dream Team

当前没有测试数据。

G - 梦之团队

得分:$600$ 分

问题描述

有 $N$ 个竞技程序员。
第 $i$ 个竞技程序员来自于 $A_i$ 大学,在硬题 $B_i$ 上很擅长,他的能力为 $C_i$。

考虑一个由 $N$ 个人组成的团队。如果满足以下两个条件中的任意一个,我们就称这个团队为一个 梦之团队

  • 团队中的任意两个人来自不同的大学。
  • 团队中的任意两个人擅长不同的题目。

设 $k$ 是可以组成的梦之团队的最多成员数。对于 $i=1,2,\ldots,k$,请解答以下问题。

问题:找到由 $i$ 个人组成的梦之团队的能力之和的最大值。

约束

  • $1 \leq N \leq 3\times 10^4$
  • $1 \leq A_i,B_i \leq 150$
  • $1 \leq C_i \leq 10^9$
  • 输入中的所有数都为整数。

输入

输入从标准输入中按照以下格式给出:

NN

A1A_1 B1B_1 C1C_1

A2A_2 B2B_2 C2C_2

\vdots

ANA_N BNB_N CNC_N

输出

令 $k$ 表示最大可能的梦之团队成员数。
先在第一行输出 $k$。然后,将 $k$ 行的答案按照 $i=1,2,\ldots,k$ 的顺序输出。


3
1 1 100
1 20 10
2 1 1
2
100
11
  • 当梦之团队仅由 $1$ 个人组成时,他们的能力之和为 $100$,此时选择第 $1$ 位竞技程序员。
  • 当梦之团队由 $2$ 个人组成时,他们的能力之和为 $11$,此时选择第 $2$ 和第 $3$ 位竞技程序员。
  • 无法组成由 $3$ 个人组成的梦之团队。

10
1 4 142135623
2 6 457513110
3 1 622776601
5 1 961524227
2 2 360679774
2 4 494897427
3 7 416573867
5 2 915026221
1 7 320508075
5 3 851648071
4
961524227
1537802822
2032700249
2353208324