QBSEGPAR - VOI05 Phân đoạn

Giới hạn
  • Thời gian: 0.6s
  • Bộ nhớ: 1536MB
  • Mã nguồn: 50000 bytes

Ghi chú: Các bài VNOI đã được chuyển qua VNOJ (Thông báo). Đề bài trên VNOI và vn.spoj.com sẽ không được cập nhật nữa. Một số đề bài không chính xác sẽ chỉ được cập nhật trên VNOJ. Bạn vẫn có thể tìm kiếm đề bài trên VNOI.

Link đọc đề trên VNOJ

 

Cho dãy số nguyên a 1 , a 2 , …, a n và số nguyên dương k. Ta gọi k-phân đoạn của dãy số đã cho là cách chia dãy số đã cho ra thành k đoạn, mỗi đoạn là một dãy con gồm các phần tử liên tiếp của dãy. Chính xác hơn, một k-phân đoạn được xác định bởi dãy chỉ số

1 <= n 1 < n 2 < n 3 < ... < n k = n

Đoạn thứ i là dãy con a n i-1 +1 , a n i-1 +2 , ..., a n i , i=1, 2, ..k. Ở đây quy ước n 0 =0

Yêu cầu: Hãy xác định số M nhỏ nhất để tồn tại k-phân đoạn sao cho tổng các phần tử trong mỗi đoạn đều không vượt quá M.

Input

Dòng đầu tiên chứa hai số nguyên n và k (1≤ k ≤ n ≤ 15000).

Dòng thứ i trong số n dòng tiếp theo chứa số nguyên a i (|a i | ≤ 30000), i =1, 2, …, n.

Các số cạnh nhau trên một dòng trong file dữ liệu cách nhau ít nhất một dấu cách.

Output

Gồm một số nguyên duy nhất là giá trị M tìm được.

Example

Input:
9 4
1
1
1
3
2
2
1
3
1
Output:
5


  • Người up: cun
  • Nguồn bài: Vietnam Olympiad of Informatics 2005 - Bảng A