[Buổi 13][Thiết kế tham lam][HW] Bài 3: Chi phí ghép kế hoạch phân đoạn


LÀM BÀI

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem types

Chi phí ghép kế hoạch phân đoạn

Bối cảnh và bài toán

Một thanh dài x cần được chia thành n đoạn có độ dài đã biết. Mỗi lần cắt một thanh hiện tại thành hai phần, chi phí bằng độ dài thanh bị cắt. Có thể nhìn ngược quá trình: bắt đầu từ các đoạn cuối cùng và ghép hai đoạn thành một; mỗi lần ghép cũng trả chi phí bằng tổng độ dài.

Yêu cầu

Tìm tổng chi phí nhỏ nhất.

Input

  • Dòng 1: x n.
  • Dòng 2: n độ dài d[i], tổng đúng bằng x.

Output

In chi phí nhỏ nhất.

Ràng buộc

  • 1 <= x <= 10^9
  • 1 <= n <= 2 * 10^5
  • sum d[i] = x

Chấm điểm

Subtask Điểm Điều kiện Official tests
S1 20% n ≤ 500 01–04
S2 30% n ≤ 5 * 10^4 05–10
S3 50% Không có ràng buộc bổ sung 11–20

Ví dụ 1

Input

8 3
2 3 3

Output

13

Giải thích. Ghép 2+3=5 tốn5, rồi5+3=8 tốn8, tổng13.

Ví dụ 2

Input

10 1
10

Output

0

Giải thích. Đã có đúng một đoạn nên không cần thao tác.

Thông tin bài tập

Thuộc tính Giá trị
Mã bài DSA-M04-B13-HW03
Buổi B13
Loại bài HOMEWORK
Mức độ khó Trung bình (Medium)
Thời gian làm bài khuyến nghị 50 phút
Time limit 2 giây
Memory limit 256 MB
Tổng điểm 100
Chuẩn ngôn ngữ tham chiếu C++11 trở lên

Nguồn: Phỏng theo CSES Problem Set — Stick Divisions (Task 1161).

Tham khảo: https://cses.fi/problemset/task/1161


Comments

There are no comments at the moment.

Zalo