DHBB 2023 - CHY - 10 - Búp bê xếp chồng

Xem dạng PDF

Gửi bài giải

Điểm: 70,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Matryoska là một bộ gồm những búp bê rỗng ruột có kích thước từ lớn đến nhỏ. Búp bê nhỏ nhất được đặt trong búp bê lớn hơn nó một chút; búp bê này lại được đặt trong một búp bê lớn hơn khác, và cứ tiếp tục như vậy cho đến khi búp bê lớn nhất chứa tất cả các búp bê còn lại.

Một bộ gồm ~m~ búp bê được gọi là đầy đủ nếu chứa tất cả các kích thước từ ~1~ đến ~m~.

Có tất cả ~n~ búp bê được đặt thành một hàng liên tiếp. Cần kết hợp chúng thành các bộ búp bê đầy đủ theo các quy tắc sau:

  • Có thể đặt một bộ gồm các búp bê nhỏ vào bên trong một búp bê lớn hơn;

  • Chỉ có thể gộp hai bộ khi chúng được đặt kề nhau;

  • Một búp bê thuộc một bộ không được phép chuyển sang bộ khác. Các búp bê trong một bộ chỉ được tách ra khi gộp bộ đó với một bộ khác.

Khi kết hợp các bộ, cần mở rồi đóng một số búp bê để đặt bộ nhỏ hơn vào bên trong.

Ví dụ, khi kết hợp hai bộ ~[1,2,6]~ và ~[4]~, cần mở các búp bê có kích thước ~6~ và ~4~, đặt búp bê ~2~ đang chứa búp bê ~1~ vào trong búp bê ~4~, sau đó đặt búp bê ~4~ vào trong búp bê ~6~. Như vậy cần mở búp bê ~2~ lần.

Khi kết hợp hai bộ ~[1,3,5]~ và ~[2,4]~, cần mở rồi đóng các búp bê có kích thước ~2,3,4,5~, tổng cộng ~4~ lần.

Yêu cầu: Cho kích thước của ~n~ búp bê theo thứ tự trong hàng, hãy xác định số lần mở rồi đóng búp bê ít nhất để kết hợp chúng thành các bộ đầy đủ. Kích thước của các bộ có thể khác nhau.

Input

  • Dòng đầu tiên gồm số nguyên dương ~n~ ~(n \le 500)~;

  • Dòng thứ hai gồm ~n~ số nguyên, là kích thước của các búp bê theo thứ tự trong hàng.

Output

In ra số lần mở rồi đóng búp bê ít nhất cần thực hiện. Nếu không thể kết hợp thành các bộ đầy đủ, in ra impossible.

Scoring

Subtask Điểm Ràng buộc
1 ~30\%~ ~n \le 20~
2 ~40\%~ ~n \le 100~
3 ~30\%~ Không có ràng buộc thêm

Sample Input 1

7
1 2 1 2 4 3 3

Sample Output 1

impossible

Sample Input 2

7
1 2 3 2 4 1 3

Sample Output 2

7

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.