#P2521. 最长不下降子序列

最长不下降子序列

题目描述

给定一个长度为 nn 的序列 a={a1,a2,,an}a = \{ a_1, a_2, \ldots,a_n \}。求:序列 aa 的最长不下降子序列的长度。

换句话说,你需要找到一个最长的下标序列 i1,i2,,iki_1, i_2, \ldots, i_k,满足:

  1. 1i1<i2<<ik1 \le i_1 \lt i_2 \lt \ldots \lt i_k
  2. ai1ai2aika_{i_1} \le a_{i_2} \le \ldots \le a_{i_k}

并输出序列长度。

输入格式

第一行,一个整数 nn

第二行,nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n,以空格分隔。

输出格式

输出一个整数,表示序列 aa 的最长不下降子序列的长度。

样例

5
3 2 5 4 8
3
8
6 2 5 2 3 3 7 8
6

说明/提示

数据规模与约定

  • 对于 20%20\% 的数据,n20n \le 20ai100a_i \le 100
  • 对于 40%40\% 的数据,n2000n \le 2000ai105a_i \le 10^5
  • 对于 100%100\% 的数据,1n21051 \le n \le 2 \cdot 10^51ai1091 \le a_i \le 10^9