#include<bits/stdc++.h>
using namespace std;
int a[100005];
int N, M;
bool check(int m)
{
int last = 0, cnt = 0;
for(int i = 1; i <= N; i++)
{
if(last + a[i] <= m)
{
last+=a[i];
}
else
{
last = a[i];
cnt++;
}
}
return cnt >= M;
}
int main()
{
cin >> N >> M;
for(int i = 1; i <= N; i++)
{
cin >> a[i];
}
int l = 0, r = 1e9, ans = 0;
while(l <= r)
{
int m = (l + r) / 2;
if(check(m))
{
l = m + 1;
ans = m;
}
else
{
r = m - 1;
}
}
cout << ans + 1;
return 0;
}
80,为啥