atcoder#ABC262G. [ABC262G] LIS with Stack
[ABC262G] LIS with Stack
配点 : 点
問題文
空の列 と空のスタック があります。また、項数が の整数列 が与えられます。 高橋君は の順に、以下の つの操作のうち一方を行います。
- の先頭の整数 を の先頭に移動させる。
- の先頭の整数 を捨てる。
また、高橋君は が空でない任意のタイミングで次の操作をすることが出来ます。
- の先頭の整数を の末尾に移動させる。
最終的な に対し、スコアを以下のように定めます。
- が広義単調増加な場合、すなわち とした時に任意の整数 に対して が成り立つ場合、スコアは である。( は の項数)
- が広義単調増加でない場合、スコアは である。
スコアの最大値を求めてください。
制約
- 入力はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
7
1 2 3 4 1 2 3
5
以下のように操作をすると最終的な が となり、スコアが になります。
- を の先頭に移動させる。
- の先頭の を の末尾に移動させる。
- を の先頭に移動させる。
- を捨てる。
- を の先頭に移動させる。
- を の先頭に移動させる。
- の先頭の を の末尾に移動させる。
- を の先頭に移動させる。
- の先頭の を の末尾に移動させる。
- を の先頭に移動させる。
- の先頭の を の末尾に移動させる。
- の先頭の を の末尾に移動させる。
また、スコアを 以上にすることは出来ません。よってスコアの最大値は です。
10
1 1 1 1 1 1 1 1 1 1
10