AT_abc360_g [ABC360G] Suitable Edit for LIS
Description
[problemUrl]: https://atcoder.jp/contests/abc360/tasks/abc360_g
長さ $ N $ の整数列 $ A $ が与えられます。高橋くんは、 $ 1 $ 回だけ次の操作をします。
- $ 1 $ 以上 $ N $ 以下の整数 $ x $ と、任意の整数 $ y $ を選ぶ。$ A_x $ を $ y $ に置き換える。
操作をした後の $ A $ の最長増加部分列の長さとしてあり得る最大の値を求めてください。
最長増加部分列とは? 列 $ A $ の部分列とは $ A $ の要素をいくつか抜き出して元の順に並べてできる列を指します。
列 $ A $ の最長増加部分列とは、 $ A $ の狭義単調増加な部分列のうち列の長さが最大のものを指します。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A_1 $ $ A_2 $ $ \cdots $ $ A_N $
Output Format
答えを $ 1 $ 行に出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 2\ \times\ 10^5 $
- $ 1\ \leq\ A_i\ \leq\ 10^9 $
### Sample Explanation 1
与えられた数列 $ A $ の LIS の長さは $ 2 $ です。例えば $ A_1 $ を $ 1 $ に置き換えると、操作後の $ A $ の LIS の長さが $ 3 $ になり、これが最大です。