B - 細長いお菓子 Editorial

Time Limit: 2 sec / Memory Limit: 256 MB

問題文

高橋君は細長いお菓子を持っています。このお菓子は NcmN cm の長さのお菓子で、 1cm1 cm ごとにブロックに分かれています。それぞれのブロックには 10510^5 種類の味うちのいずれかの味がついていて、左端から ii 番目のブロックには AiA_i 番目の味がついています。

高橋君はこのお菓子から、出来るだけ長い「同じ味のブロックが 22 つ以上含まれない、ひと繋がりになった部分」を切り出したいと思っています。最大で何 cmcm の部分を切り出すことが出来るでしょうか。ただし、切る場所はブロックとブロックの境界の部分のみとします。


入力

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

NN
A1A_1 A2A_2 ... ANA_N
  • 11 行目には、お菓子の長さを cmcm 単位で表した整数 N(1N105)N (1 ≦ N ≦ 10^5) が与えられる。
  • 22 行目には、お菓子の各ブロックの味の情報を表す NN 個の整数が空白区切りで与えられる。このうち ii 番目の整数 Ai(1Ai105)A_i (1 ≦ A_i ≦ 10^5) は、左端から ii 番目のブロックの味が AiA_i 番目の味であることを表す。

部分点

この問題には部分点が設定されている。

  • N100N ≦ 100 かつ Ai100A_i ≦ 100 を満たすテストケースすべてに正解した場合は 5050 点が与えられる。
  • N1,000N ≦ 1,000 かつ Ai1,000A_i ≦ 1,000 を満たすテストケースすべてに正解した場合は 9999 点が与えられる。

出力

高橋君がこのお菓子から切り出すことの出来る「同じ味のブロックが 22 つ以上含まれない、ひと繋がりになった部分」の最大の長さを cmcm 単位で表す 11 つの整数を 11 行に出力せよ。出力の末尾に改行をいれること。


入力例1

Copy
  1. 7
  2. 1 2 1 3 1 4 4
7
1 2 1 3 1 4 4

出力例1

Copy
  1. 3
3

22 番目から 44 番目のブロックを含む部分、または 44 番目から 66 番目のブロックを含む部分を切り出すのが最長です。


入力例2

Copy
  1. 1
  2. 100
1
100

出力例2

Copy
  1. 1
1

切る必要がない場合は切らなくてもかまいません。



2025-04-23 (Wed)
20:35:24 +00:00