数列 A = {a0, a1, … , an−1} の最長増加部分列 (LIS: Longest Increasing Subsequence) の長さを求めてください。 数列 A の増加部分列は 0 ≤ i0 < i1 < … < ik < n かつ ai0 < ai1 < … < aik を満たす部分列 {ai0, ai1, … , aik} です。最長増加部分列はその中で最も k が大きいものです。
1行目に数列 A の長さを示す整数 n が与えられます。続く n 行で数列の各要素 ai が与えられます。
最長増加部分列の長さを1行に出力してください。
5 5 1 3 2 4
3
3 1 1 1
1