USACO 2016 - 262144

Xem PDF



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, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2100 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Bessie thích tải trò chơi về điện thoại di động để chơi, mặc dù cô thấy màn hình cảm ứng nhỏ khá bất tiện khi sử dụng bằng những chiếc móng guốc lớn của mình.

Cô đặc biệt bị cuốn hút bởi trò chơi hiện tại. Trò chơi bắt đầu với một dãy gồm \(N\) số nguyên dương (\(2 \leq N \leq 262\,144\)), mỗi số nằm trong khoảng \(1 \ldots 40\). Trong một lượt, Bessie có thể lấy hai số kề nhau có giá trị bằng nhau và thay chúng bằng một số duy nhất có giá trị lớn hơn một đơn vị (ví dụ, cô có thể thay hai số \(7\) kề nhau bằng một số \(8\)). Mục tiêu là tối đa hóa giá trị của số lớn nhất có mặt trong dãy khi trò chơi kết thúc. Hãy giúp Bessie đạt điểm cao nhất có thể!

Dữ liệu vào

Dòng đầu tiên chứa \(N\), và \(N\) dòng tiếp theo cho dãy gồm \(N\) số tại thời điểm bắt đầu trò chơi.

Dữ liệu ra

In ra số nguyên lớn nhất mà Bessie có thể tạo được.

Ví dụ

Ví dụ 1

Input
4
1
1
1
2
Output
3
Giải thích

Trong ví dụ này, đầu tiên Bessie gộp số \(1\) thứ hai và thứ ba để thu được dãy \(1\ 2\ 2\), sau đó cô gộp hai số \(2\) thành một số \(3\). Lưu ý rằng gộp hai số \(1\) đầu tiên không phải là phương án tối ưu.

Nguồn

USACO 2016 US Open Contest, Platinum - 262144: https://usaco.org/index.php?page=viewproblem2&cpid=648

Tác giả: Mark Chen.

Bình luận

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

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

Kỳ thi: