#5220. KSEGMENTS - Chia mảng thành K đoạn con

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Cho một mảng số nguyên dương A gồm N phần tử. Chia mảng A thành K đoạn con liên tiếp sao cho tổng lớn nhất của một đoạn con là nhỏ nhất.

Dữ liệu:

  • Dòng đầu tiên chứa hai số nguyên N K ( 1 \le K \le N \le 10^5 ).
  • Dòng thứ hai chứa N số nguyên dương a_i ( 1 \le a_i \le 10^9 ).

Kết quả: In ra một số nguyên duy nhất là tổng lớn nhất nhỏ nhất của một đoạn con sau khi chia.

Ví dụ:

Dữ liệu:

5 3
1 2 3 4 5

Kết quả:

6

Giải thích:

  • Có nhiều cách chia mảng thành 3 đoạn con.
  • Một cách chia là [1, 2, 3], [4], [5] . Tổng lớn nhất là 6 .
  • Một cách chia khác là [1, 2], [3, 4], [5] . Tổng lớn nhất là 7 .
  • Một cách chia khác là [1, 2], [3], [4, 5] . Tổng lớn nhất là 9 .
  • Kết quả là 6.

Giới hạn:

  • 1 \le K \le N \le 10^5
  • 1 \le a_i \le 10^9