atcoder#ARC156F. [ARC156F] Make Same Set

[ARC156F] Make Same Set

配点 : 10001000

問題文

長さ 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)$ が与えられます。

整数からなる集合のうち、以下の条件を満たすものを 11 つ求めてください。

  • 空集合に対し i=1,2,,Ni=1,2,\dots,N の順に Ai,BiA_i,B_i のいずれかを追加していくことで得られる集合である。
  • 空集合に対し i=1,2,,Ni=1,2,\dots,N の順に Ai,CiA_i,C_i のいずれかを追加していくことで得られる集合である。
  • 上記の 22 つの条件を満たす集合の中で、要素数が最大である。

制約

  • 1N50001 \leq N \leq 5000
  • 1Ai,Bi,Ci100001 \leq A_i,B_i,C_i \leq 10000
  • 入力される値はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

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

条件を満たす整数集合が複数存在する場合、いずれを出力してもかまわない。

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

集合 {1,2,4}\lbrace 1,2,4\rbrace

  • 11 番目の条件について、空集合に B1,A2,B3B_1,A_2,B_3 を追加することで得られます。
  • 22 番目の条件について、空集合に A1,C2,C3A_1,C_2,C_3 を追加することで得られます。

条件を満たす集合の要素数は明らかに N=3N=3 以下であるため、この集合は 33 番目の条件も満たしています。

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