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
提示
制約
- 入力はすべて整数
Sample Explanation 1
以下のように操作をすると最終的な が となり、スコアが になります。 - を の先頭に移動させる。 - の先頭の を の末尾に移動させる。 - を の先頭に移動させる。 - を捨てる。 - を の先頭に移動させる。 - を の先頭に移動させる。 - の先頭の を の末尾に移動させる。 - を の先頭に移動させる。 - の先頭の を の末尾に移動させる。 - を の先頭に移動させる。 - の先頭の を の末尾に移動させる。 - の先頭の を の末尾に移動させる。 また、スコアを 以上にすることは出来ません。よってスコアの最大値は です。