#ATarc156f. [ARC156F] Make Same Set

[ARC156F] Make Same Set

题目描述

给定长度为 NN 的整数序列 $A=(A\_1,A\_2,\dots,A\_N),B=(B\_1,B\_2,\dots,B\_N),C=(C\_1,C\_2,\dots,C\_N)$。

请你求出一个满足以下条件的整数集合:

  • 该集合可以通过对空集合,依次按 i=1,2,,Ni=1,2,\dots,N 的顺序,每次选择 AiA_iBiB_i 加入集合,最终得到。
  • 该集合也可以通过对空集合,依次按 i=1,2,,Ni=1,2,\dots,N 的顺序,每次选择 AiA_iCiC_i 加入集合,最终得到。
  • 在满足上述两个条件的所有集合中,元素个数最大。

输入格式

输入以如下格式从标准输入读入。

NN A1A_1 A2A_2 \dots ANA_N B1B_1 B2B_2 \dots BNB_N C1C_1 C2C_2 \dots CNC_N

输出格式

请输出满足条件的整数集合的元素个数 kk,以及该集合的 kk 个元素 xi (1ik)x_i\ (1\leq i\leq k),格式如下:

kk x1x_1 x2x_2 \dots xkx_k

如果存在多个满足条件的集合,输出任意一个均可。

样例 1

输入

3
1 1 1
2 3 4
5 4 2

输出

3
4 1 2

样例 2

输入

15
1 1 15 11 13 7 7 1 6 1 5 7 4 9 8
11 30 1 18 16 15 19 17 3 27 22 7 21 29 9
24 14 23 17 18 16 9 12 10 5 26 29 20 19 11

输出

12
7 9 11 17 19 1 15 4 5 6 29 13

说明/提示

限制

  • 1N50001\leq N\leq 5000
  • 1Ai,Bi,Ci100001\leq A_i,B_i,C_i\leq 10000
  • 输入的所有值均为整数

样例解释 1

集合 {1,2,4}\lbrace 1,2,4\rbrace 满足以下条件:

  • 关于第 1 个条件,可以通过依次向空集合加入 B1,A2,B3B_1,A_2,B_3 得到。
  • 关于第 2 个条件,可以通过依次向空集合加入 A1,C2,C3A_1,C_2,C_3 得到。 显然,满足条件的集合元素个数不会超过 N=3N=3,因此该集合也满足第 3 个条件。

由 ChatGPT 4.1 翻译