SLIMES - Kẹo dẻo

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Có ~N~ hủ kẹo dẻo được đặt trên một hàng. Ban đầu, hủ thứ ~i~ có độ ngọt là ~a_i~.

Kaninho cố gắng kết hợp tất cả các hủ kẹo này thành một hủ kẹo lớn hơn. Anh ấy thực hiện phép toán dưới đây nhiều lần cho đến khi chỉ còn một hủ kẹo duy nhất thì dừng:

  • Chọn ~2~ hủ kẹo kề nhau bất kì và kết hợp chúng lại thành một hủ kẹo. Hủ kẹo mới này có độ ngọt là ~x+y~, trong đó ~x,y~ lần lượt là độ ngọt của hai hủ kẹo trước đó. Và việc này tốn chi phí là ~x+y~. Mối quan hệ về vị trí giữa các hủ kẹo vẫn không thay đổi khi ta kết hợp chúng lại với nhau.

Input

  • Dòng thứ nhất chứa số nguyên ~N(2\le N\le 400)~.
  • Dòng thứ hai chứa ~N~ số nguyên ~a_i (1 \le a_i\le 10^9)~.

Output

  • In ra chi phí tối thiểu để kết hợp tất cả các hủ kẹo trên thành ~1~ hủ duy nhất.

Sample

Input #1
4
10 20 30 40
Output #1
190

Hint

Kaninho sẽ làm như sau:

  • ~(10,20,30,40)\rightarrow (30,30,40)~ (Tốn chi phí: 10+20=30)
  • ~(30,30,40)\rightarrow (60,40)~ (Tốn chi phí: 30+30=60)
  • ~(60,40)\rightarrow (100)~ (Tốn chi phí: 60+40=100)

Vậy tổng chỉ phí tối thiểu cần dùng là ~30+60+100=190~

Problem source: DP Contest Atcoder


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.