AT_abc468_f [ABC468F] Chmax
Description
正整数 $ N $ と $ (1,2,\ldots,N) $ の並び替え $ P=(P_1,P_2,\ldots,P_N) $ が与えられます。
変数 $ x,y,c $ があります。はじめ $ x=y=c=0 $ です。
あなたは $ k=1,2,\ldots,N $ の順に以下の操作のいずれかを行います:
- 操作 $ 1 $ : $ x < P_k $ ならば $ c $ を $ 1 $ 増やす。その後、 $ x $ を $ \max(x,P_k) $ に置き換える。
- 操作 $ 2 $ : $ y < P_k $ ならば $ c $ を $ 1 $ 増やす。その後、 $ y $ を $ \max(y,P_k) $ に置き換える。
最終的な $ c $ の値の最大値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ P_1 $ $ P_2 $ $ \ldots $ $ P_N $
Output Format
答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
以下のように操作することで $ c=4 $ を達成することができます:
- $ k=1 $ のとき:操作 $ 1 $ を行う。 $ (x,y,c)=(4,0,1) $ となる。
- $ k=2 $ のとき:操作 $ 1 $ を行う。 $ (x,y,c)=(4,0,1) $ となる。
- $ k=3 $ のとき:操作 $ 2 $ を行う。 $ (x,y,c)=(4,1,2) $ となる。
- $ k=4 $ のとき:操作 $ 2 $ を行う。 $ (x,y,c)=(4,2,3) $ となる。
- $ k=5 $ のとき:操作 $ 2 $ を行う。 $ (x,y,c)=(4,5,4) $ となる。
どのように操作しても $ c $ を $ 4 $ より大きくすることはできないので、 $ 4 $ を出力してください。
### Constraints
- $ 1\le N\le 5\times 10^5 $
- $ P $ は $ (1,2,\ldots,N) $ の並び替え
- 入力される値は全て整数