#3135. Max Straight

Max Straight

题目描述

给定一个长度为 NN 的整数序列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N)。

求出满足下列条件的整数序列 AA 的子序列 B=(B1,B2,…,B∣B∣)B=(B_1,B_2,\ldots,B_{|B|}) 的最大长度。

  • 对于所有满足 1≤i≤∣B∣−11\le i\le |B|-1 的整数 ii,都有 Bi+1=Bi+1B_i + 1 = B_{i+1}。

什么是子序列

一个序列 AA 的子序列,是通过选择 AA 的零个或多个元素并删除(可以不选也可以一个也不删),保留剩下元素且顺序不变,得到的序列。

输入格式

从标准输入读取数据,格式如下:

N A1 A2 … ANN\ A_1\ A_2\ \ldots\ A_N

输出格式

输出答案。

输入输出样例 #1

输入 #1

7
3 4 3 5 7 6 2

输出 #1

4

输入输出样例 #2

输入 #2

5
5 4 3 2 1

输出 #2

1

输入输出样例 #3

输入 #3

10
1 2 3 4 5 6 7 8 9 10

输出 #3

10

说明/提示

样例解释 1

B=(3,4,5,6)B=(3,4,5,6) 是满足条件的 AA 的一个子序列,其长度为 44。

没有比 44 更长的符合条件的子序列,因此输出 44。

数据范围

  • 1≤N≤2×1051\le N\le 2\times 10^5
  • 1≤Ai≤1091\le A_i\le 10^9
  • 所有输入值均为整数。