atcoder#AGC059B. [AGC059B] Arrange Your Balls

[AGC059B] Arrange Your Balls

配点 : 700700

問題文

あなたは、色 C1,C2,,CNC_1, C_2, \ldots, C_NNN 個のボールを持っています。 ここで、すべての色は 11 以上 NN 以下の整数により表されます。 あなたは、これらのボールを円周上に並べようとしています。その後、色のペア (X,Y)(X, Y) であって、X<YX < Y であり、色 XXYY の二つの隣接するボールが存在するようなペアの個数を数えます。

そのようなペアの個数を最小化する配置を求めてください。そのような配置が多数存在する場合は、そのうちのいずれかを求めてください。

例えば、色 1,1,2,31, 1, 2, 3 のボールについて、1,1,2,31, 1, 2, 3 と並べると、(1,2),(2,3),(1,3)(1, 2), (2, 3), (1, 3) という 33 つのペアが現れます。1,2,1,31, 2, 1, 3 と並べると、現れるペアは (1,2),(1,3)(1, 2), (1, 3)22 つのみです。

各入力ファイルについて、TT 個のテストケースを解いてください。

制約

  • 1T51041 \le T \le 5 \cdot 10^4
  • 3N21053 \le N \le 2 \cdot 10^5
  • 1CiN1 \le C_i \le N
  • 各入力ファイル内の NN の総和は 21052\cdot 10^5 を超えない。
  • 入力中のすべての値は整数である。

入力

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

TT

case1case_1

case2case_2

\vdots

caseTcase_T

各ケースは以下の形式である。

NN

C1C_1 C2C_2 \ldots CNC_N

出力

各テストケースについて、答えを以下の形式で出力せよ。

A1A_1 A2A_2 \ldots ANA_N

ここで、AiA_i は配置における円周上の(時計回りに見て)ii 番目のボールの色である。

(A1,A2,,AN)(A_1, A_2, \ldots, A_N)(C1,C2,,CN)(C_1, C_2, \ldots, C_N) を並べ替えたものでなければならない。また、色のペア (X,Y)(X, Y) であって、X<YX < Y であり、色 XXYY の二つの隣接するボールが存在するようなペアの個数が最小化されていなければならない。

複数の解が存在する場合は、そのいずれも認められる。

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