xếp tháp

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1200 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Hội thi Olympic Khoa học viên tương tổ chức cuộc thi xếp tháp. Mỗi đội nhận được \(n\) khối hộp và phải xếp thành các tòa tháp thỏa mãn các yêu cầu sau:

  • Mỗi đội nhận khối hộp đầu tiên và tạo tháp đầu tiên.
  • Khi nhận được một khối hộp, các đội phải xếp luôn vào tháp đã có hoặc tạo ra một tháp mới, sau đó mới được nhận khối hộp tiếp theo.
  • Các tòa tháp phải thỏa mãn điều kiện: khối hộp ở trên có thể tích không lớn hơn khối hộp ở ngay dưới nó.
  • Không được chuyển khối hộp từ tòa tháp này sang tòa tháp khác.
  • Mỗi đội cần xếp được càng ít tòa tháp càng tốt.

Input

  • Dòng 1: Số nguyên dương \(n\) — số lượng khối hộp được cung cấp.
  • Dòng 2: \(n\) số nguyên dương \(a_1, a_2, \ldots, a_n\) — thể tích các khối hộp theo thứ tự nhận. (\(a_i \leq 10^9\))

Output

  • Một số nguyên duy nhất — số lượng tòa tháp ít nhất có thể tạo thành.

Ví dụ

Test 1

Input
5
3 8 5 2 2
Output
2

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.