Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Tòa tháp

Dễ

  • 100 Điểm
  • 0% Tỉ lệ AC
  • 0 Số AC
  • 256M Bộ nhớ giới hạn
  • 1.0s Giới hạn thời gian

Cho \(n\) khối lập phương theo một thứ tự nhất định, nhiệm vụ của bạn là xây các tháp từ những khối lập phương này. Mỗi khi một khối được đặt lên trên một khối khác, khối ở trên phải nhỏ hơn khối ở dưới.

Bạn phải xử lý các khối theo đúng thứ tự đã cho. Với mỗi khối, bạn có thể đặt nó lên trên một tháp đã có (nếu hợp lệ), hoặc bắt đầu một tháp mới.

Yêu cầu. Hãy tìm số lượng tháp tối thiểu cần dùng để xếp hết tất cả các khối.

\InputFile
Dòng đầu tiên chứa một số nguyên \(n\) --- số lượng khối lập phương.

Dòng thứ hai chứa \(n\) số nguyên \(k_1, k_2, \ldots, k_n\) --- kích thước của từng khối, theo đúng thứ tự cần xử lý.

\OutputFile
In ra một số nguyên duy nhất --- số lượng tháp tối thiểu cần dùng.

\Examples
\beginexample
\exmp
5
3 8 2 1 5

2

\endexample

\Note
Trong ví dụ, có thể xây \(2\) tháp như sau: tháp thứ nhất lần lượt gồm các khối \(3, 2, 1\) (mỗi khối đặt sau nhỏ hơn khối trước), tháp thứ hai gồm các khối \(8, 5\). Không thể xếp hết các khối chỉ với \(1\) tháp, vậy đáp án là \(2\).

\Scoring

  • (30%) \(1 \le n \le 1000\);
  • (70%) \(1 \le n \le 2 \times 10^5\).

Bình luận

Chưa có bình luận nào.