#BS0000017. Các tháp khối (Towers)

Các tháp khối (Towers)

Các tháp khối (Towers)

Nguồn: CSES

Phiên bản: Phước Hưng OJ Extended

Đề bài

Có nn khối lập phương được đưa đến theo một thứ tự cố định. Khi đặt một khối lên trên một tháp, kích thước của khối mới phải nhỏ hơn khối đang ở đỉnh tháp.

Mỗi khối khi đến phải được xử lý ngay: hoặc đặt lên một tháp hiện có, hoặc bắt đầu một tháp mới.

Hãy tìm số tháp nhỏ nhất có thể tạo sau khi xử lý toàn bộ các khối.

Input

Dòng đầu chứa nn.

Dòng thứ hai chứa nn số k1,…,knk_1,\ldots,k_n, kích thước các khối theo thứ tự xuất hiện.

Output

In số tháp nhỏ nhất.

Subtask

  • Subtask 1 — 20%: n≤1000n\le1000.
  • Subtask 2 — 30%: n≤50000n\le50000.
  • Subtask 3 — 50%: 1≤n≤2⋅1051\le n\le2\cdot10^5, 1≤ki≤1091\le k_i\le10^9.

Ví dụ

Input

5
3 8 2 1 5

Output

2

Giải thích

Xử lý theo thứ tự 3,8,2,1,53,8,2,1,5:

  • đặt 33 vào tháp thứ nhất;
  • khối 88 không thể đặt lên 33 vì 8>38>3, nên mở tháp thứ hai;
  • đặt 22 lên trên 33, rồi đặt 11 lên trên 22;
  • đặt 55 lên trên 88.

Ta dùng được 22 tháp. Một tháp là không thể vì sau khi khối 33 xuất hiện, khối 88 lớn hơn không thể đặt lên trên nó.