B - 細長いお菓子
解説
/
実行時間制限: 2 sec / メモリ制限: 256 MB
問題文
高橋君は細長いお菓子を持っています。このお菓子は N cm の長さのお菓子で、 1 cm ごとにブロックに分かれています。それぞれのブロックには 10^5 種類の味うちのいずれかの味がついていて、左端から i 番目のブロックには A_i 番目の味がついています。
高橋君はこのお菓子から、出来るだけ長い「同じ味のブロックが 2 つ以上含まれない、ひと繋がりになった部分」を切り出したいと思っています。最大で何 cm の部分を切り出すことが出来るでしょうか。ただし、切る場所はブロックとブロックの境界の部分のみとします。
入力
入力は以下の形式で標準入力から与えられる。
N A_1 A_2 ... A_N
- 1 行目には、お菓子の長さを cm 単位で表した整数 N (1 ≦ N ≦ 10^5) が与えられる。
- 2 行目には、お菓子の各ブロックの味の情報を表す N 個の整数が空白区切りで与えられる。このうち i 番目の整数 A_i (1 ≦ A_i ≦ 10^5) は、左端から i 番目のブロックの味が A_i 番目の味であることを表す。
部分点
この問題には部分点が設定されている。
- N ≦ 100 かつ A_i ≦ 100 を満たすテストケースすべてに正解した場合は 50 点が与えられる。
- N ≦ 1,000 かつ A_i ≦ 1,000 を満たすテストケースすべてに正解した場合は 99 点が与えられる。
出力
高橋君がこのお菓子から切り出すことの出来る「同じ味のブロックが 2 つ以上含まれない、ひと繋がりになった部分」の最大の長さを cm 単位で表す 1 つの整数を 1 行に出力せよ。出力の末尾に改行をいれること。
入力例1
7 1 2 1 3 1 4 4
出力例1
3
2 番目から 4 番目のブロックを含む部分、または 4 番目から 6 番目のブロックを含む部分を切り出すのが最長です。
入力例2
1 100
出力例2
1
切る必要がない場合は切らなくてもかまいません。