atcoder#AGC026E. [AGC026E] Synchronized Subsequence

[AGC026E] Synchronized Subsequence

配点 : 16001600

問題文

NN 個の aNN 個の b からなる,長さ 2N2N の文字列 SS が与えられます。

あなたは SS からいくつかの文字を選びます。ただし各 i=1,2,...,Ni = 1,2,...,N について,SSii 番目に出現する aii 番目に出現する b から片方だけ選ぶことは出来ません。 そして選んだ文字たちを( SS での順番通りに)結合します。

こうして得られる文字列のうち,辞書順で最大のものを求めて下さい。

制約

  • 1N30001 \leq N \leq 3000
  • SSNN 個の ab からなる,長さ 2N2N の文字列である。

入力

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

NN

SS

出力

条件を満たす TT のうち,辞書順で最大のものを出力して下さい。

3
aababb
abab

SS1,3,4,61, 3, 4, 6 番目の文字からなる部分列 TT は,条件を満たします。

3
bbabaa
bbabaa

全ての文字を選ぶことも可能です。

6
bbbaabbabaaa
bbbabaaa
9
abbbaababaababbaba
bbaababababa