25年2月-C组(大咖)
Contest is over.
开始 2025-02-08 08:00:00
当前 2025-06-21 18:23:57
结束 2025-02-09 23:00:00

B. 序列染色

题目描述

在一项数学研究中,研究员正在研究一个包含了 N 个整数的数列 A = {A_1, A_2, \dots, A_N}

他们希望对这些整数进行染色,使得满足以下条件:

  1. 数列中的每个数都要染上一个颜色

  2. 如果数列中的两个整数 A_iA_j 被染成相同的颜色,那么必须满足 i < jA_i < A_j

研究员的目标是,使用最少的颜色数来完成这个染色任务。请你编程帮助他们计算出最受需要多少个颜色,才能完成这项染色任务?

输入

输入的第一行包含一个整数 N,表示数列中的整数个数。

接下来 N 行,包含了 N 个整数 A_1, A_2, \dots, A_N,表示数列的元素。

输出

输出一个整数,表示完成染色所需的最小颜色数。

样例

输入

5
2
1
4
5
3

输出

2

输入

5
50
40
30
20
10

输出

5

输入

15
5
1
2
4
3
7
6
8
11
9
10
14
15
13
12

输出

3
说明

样例 1 说明

在第一个样例中,如下染色方案仅需 2 种颜色:

  • 使用红色给数列中的 23 染色(2 < 3)。
  • 使用蓝色给数列中的 1, 4, 5 染色(1 < 4 < 5)。

样例 2 说明

为每个数字分配一种不同的颜色。

数据范围

对于 10\% 的数据,满足数列中的 N 个数严格单调递增,或者严格单调递减。

对于 100\% 的数据,满足 1 \leq N \leq 10^50 \leq A_i \leq 10^9

编辑代码
登录

注册
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 101
通过人数 42
金币数量 0 枚
难度 基础
提交