测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A14490. Longest Array Deconstruction

编程题 普及/提高-

题目描述

Mr. Chanek gives you a sequence $a$ indexed from $1$ to $n$ . Define $f(a)$ as the number of indices where $a_i = i$ .

You can pick an element from the current sequence and remove it, then concatenate the remaining elements together. For example, if you remove the $3$ -rd element from the sequence $[4, 2, 3, 1]$ , the resulting sequence will be $[4, 2, 1]$ .

You want to remove some elements from $a$ in order to maximize $f(a)$ , using zero or more operations. Find the largest possible $f(a)$ .

输入格式

The first line contains one integer $n$ ( $1 \leq n \leq 2 \cdot 10^5$ ) — the initial length of the sequence.

The second line contains $n$ integers $a_1, a_2, \ldots, a_n$ ( $1 \leq a_i \leq 2 \cdot 10^5$ ) — the initial sequence $a$ .

输出格式

Output an integer denoting the largest $f(a)$ that can be obtained by doing zero or more operations.

输入输出样例

输入 #1
7
2 1 4 2 5 3 7
输出 #1
3
输入 #2
4
4 2 3 1
输出 #2
2

说明/提示

In the first example, $f(A) = 3$ by doing the following operations.

$[2,1,\textbf{4},2,5,3,7] \rightarrow [\textbf{2},1,2,5,3,7] \rightarrow [1,2,5,3,\textbf{7}] \rightarrow [1,2,\textbf{5},3] \rightarrow [1,2,3]$

In the second example, $f(A) = 2$ and no additional operation is needed.
上一题 去做题 下一题