CF1575L.Longest Array Deconstruction

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:512MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Mr. Chanek gives you a sequence aa indexed from 11 to nn. Define f(a)f(a) as the number of indices where ai=ia_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 33-rd element from the sequence [4,2,3,1][4, 2, 3, 1], the resulting sequence will be [4,2,1][4, 2, 1].

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

陈老师给了你一个从 11 到 nn 编号的序列 aa。定义 f(a)f(a) 为满足 ai=ia_i = i 的下标 ii 的个数。

你可以从当前序列中任选一个元素将其删除,然后将剩余元素拼接起来。例如,若从序列 [4,2,3,1][4, 2, 3, 1] 中删除第 33 个元素,则得到的新序列为 [4,2,1][4, 2, 1]。

你希望通过对 aa 进行零次或多次上述删除操作,使得最终序列的 f(a)f(a) 尽可能大。求 f(a)f(a) 的最大可能值。

输入格式

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

The second line contains nn integers a1,a2,…,ana_1, a_2, \ldots, a_n (1≤ai≤2⋅1051 \leq a_i \leq 2 \cdot 10^5) — the initial sequence aa.

第一行包含一个整数 nn(1≤n≤2⋅1051 \leq n \leq 2 \cdot 10^5)—— 序列的初始长度。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤2⋅1051 \leq a_i \leq 2 \cdot 10^5)—— 初始序列 aa。

输出格式

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

输出一个整数,表示通过执行零次或多次操作所能得到的最大 f(a)f(a) 值。

输入输出样例

  • 输入#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)=3f(A) = 3 by doing the following operations.

[2,1,4,2,5,3,7]→[2,1,2,5,3,7]→[1,2,5,3,7]→[1,2,5,3]→[1,2,3][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)=2f(A) = 2 and no additional operation is needed.

在第一个例子中,通过以下操作可得 f(A)=3f(A) = 3:

[2,1,4,2,5,3,7]→[2,1,2,5,3,7]→[1,2,5,3,7]→[1,2,5,3]→[1,2,3][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]

在第二个例子中,f(A)=2f(A) = 2,且无需额外操作。

输入解题思路,AI测评打分。不知道怎么写?

首页