#BS0000021. Chia mảng (Array Division)

Chia mảng (Array Division)

Chia mảng (Array Division)

Nguồn: CSES

Phiên bản: Phước Hưng OJ Extended

Đề bài

Cho mảng nn số nguyên dương. Hãy chia mảng thành đúng kk đoạn con liên tiếp, không rỗng, phủ hết mảng.

Nếu tổng của đoạn thứ jj là SjS_j, giá trị của cách chia là:

max⁡1≤j≤kSj.\max_{1\le j\le k} S_j.

Hãy tìm giá trị nhỏ nhất có thể của đại lượng này.

Input

Dòng đầu chứa n,kn,k. Dòng sau chứa x1,…,xnx_1,\ldots,x_n.

Output

In giá trị nhỏ nhất có thể của tổng lớn nhất trong kk đoạn.

Subtask

  • Subtask 1 — 20%: k=1k=1 hoặc k=nk=n.
  • Subtask 2 — 30%: 1≤n≤20001\le n\le2000.
  • Subtask 3 — 50%: 1≤n≤2⋅1051\le n\le2\cdot10^5, 1≤k≤n1\le k\le n, 1≤xi≤1091\le x_i\le10^9.

Ví dụ

Input

5 3
2 4 7 3 5

Output

8

Giải thích

Một cách chia tối ưu là [2,4][2,4], [7][7], [3,5][3,5] với các tổng 6,7,86,7,8, nên giá trị lớn nhất là 88.