STONE1 - Chia sỏi
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: admin

Thầy giáo có n đống sỏi, đống thứ iai (i = 1, 2, …, n) viên sỏi. Thầy giáo muốn Tí chia dãy a1, a2, ..., an thành k đoạn liên tục sao cho tổng số sỏi lớn nhất trong các đoạn này là nhỏ nhất. Tuy nhiên, bỗng dưng Tí chẳng nghĩ ra được gì dù cậu rất tự tin vào khả năng của mình. Vì vậy, Tí cần sự giúp đỡ của các bạn.

Yêu cầu: Hãy giúp Tí thực hiện yêu cầu của thầy giáo.

Dữ liệu: 

          - Dòng thứ nhất chứa hai số nguyên dương nk (k <= n <= 105), là số đống sỏi và số đoạn cần chia.

          - Dòng thứ hai chứa n số nguyên dương a1, a2, ..., an (ai <=109; i = 1, 2, …, n), là số viên sỏi trong từng đống.

Hai số ghi trên cùng một dòng được phân cách nhau bởi một dấu cách.

Kết quả: Ghi ra một số nguyên là tổng số sỏi lớn nhất trong các đoạn sau khi chia sao cho giá trị đó nhỏ nhất.

Giới hạn:

- Có 50% số điểm: n <= 1000;

- Có 50% số điểm: n <= 105.

Ví dụ

  • input
    10 4
    1 3 2 4 10 8 4 2 5 3
    output
    12

Giải thích: Tí chia dãy thành 4 đoạn: (1, 3, 2, 4); (10); (8 4); (2 5 3).

Back to Top