You are on page 1of 2

Cơm nắm [RICEBALL]

Tèo có N nắm cơm và được xếp thành một hàng. Tèo muốn đem một nắm cơm lớn nhất tặng
cho Tí. Trước khi chọn nắm cơm lớn nhất để tặng cho Tí, Tèo có thể thực hiện một số lần các
thao tác dưới đây:
Nếu có hai nắm cơm liền kề có kích thước bằng nhau, Tèo có thể gộp chúng lại thành
một nắm cơm mới. Kích thước của nắm cơm mới là tổng kích thước của hai nắm cơm
cũ. Nắm cơm mới sẽ chiếm vị trí của hai nắm cơm cũ được gộp.
Nếu có hai nắm cơm có kích thước bằng nhau, và giữa hai nắm cơm này chỉ có đúng một
nắm cơm, Tèo cũng có thể gộp ba nắm cơm này lại thành một nắm cơm mới. Kích thước
của nắm cơm mới là tổng kích thước của ba nắm cơm bị gộp, và nắm cơm mới sẽ chiếm
vị trí của cả ba nắm cơm đó. Giả sử Tèo biết cách thực hiện thao tác một cách tối ưu để
có được nắm cơm lớn nhất. Bạn hãy xác định kích thước lớn nhất của nắm cơm mà Tèo
có thể đem tặng cho Tí.
Dữ liệu
Dòng 1: gồm một số nguyên N(1 ≤ N ≤ 400);

Dòng 2 chứa N số nguyên dương a1,a2,...,aN,(1 ≤ ai ≤ 109,∀i = 1 → N).

Kết quả
In ra một số nguyên là kích thước lớn nhất của nắm cơm mà Tèo có thể tặng cho Tí.
Ví dụ
RICEBALL.inp RICEBALL.out
7 48
47 12 12 3 9 9 3
Giải thích ví dụ 1
Gộp hai nắm cơm có kích thước là 12 lại, thu được một nắm cơm kích thước 24. Dãy trở
thành [47, 24, 3, 9, 9, 3];
Tiếp theo, gộp hai nắm cơm có kích thước là 9 lại, thu được một nắm cơm kích thước
18. Dãy trở thành [47, 24, 3, 18, 3];
Gộp ba nắm cơm có kích thước 3, 18 và 3 lại, thu được một nắm cơm kích thước 24.
Dãy trở thành
[47, 24, 24];
Cuối cùng, gộp hai nắm cơm có kích thước 24 lại, thu được một nắm cơm kích thước 48.
Dãy trở
thành [47, 48];
Ràng buộc

Subtask 1: 10% số điểm ứng với N ≤ 4;


Subtask 2: 15% số điểm ứng với N ≤ 10;
Subtask 3: 25% số điểm ứng với N ≤ 50;
Subtask 4: 50% số điểm còn lại không có ràng buộc bổ sung;

You might also like