#ATabc134e. [ABC134E] Sequence Decomposing

[ABC134E] Sequence Decomposing

AT_abc134_e [ABC134E] Sequence Decomposing

题目描述

给定一个由 NN 个整数构成的数列 A={A1,A2,,AN}A = \{A_1, A_2, \cdots, A_N\}。对于这 NN 个整数中的每一个,需要选择一种颜色进行涂色。此时,必须满足以下条件:

  • 如果 AiA_iAjA_ji<ji < j)被涂成相同的颜色,则 Ai<AjA_i < A_j 必须成立。

请问,在满足上述条件的情况下,所需使用的颜色数的最小值是多少。

输入格式

输入以以下格式从标准输入中给出。

NN
A1 A2  ANA_1\ A_2\ \cdots\ A_N

输出格式

请输出满足条件所需使用的颜色数的最小值。

样例 1

输入

5
2
1
4
5
3

输出

2

样例 2

输入

4
0
0
0
0

输出

4

说明/提示

限制条件

  • 1N1051 \leq N \leq 10^5
  • 0Ai1090 \leq A_i \leq 10^9

样例解释 1

例如,可以将 2,32, 3 涂成红色,将 1,4,51, 4, 5 涂成蓝色,这样就可以用 22 种颜色满足条件。

样例解释 2

只能将所有整数分别涂成不同的颜色。

由 ChatGPT 4.1 翻译