#include <bits/stdc++.h>
#define int long long
#define LL long long
using namespace std;
const int N = 1e5 + 10;
int n, m;
int a[N];
bool check(int mid)
{
int sum = 0, cnt = 0;
for (int i = 1; i <= n; i ++ )
{
sum += a[i];
if (sum >= mid)
{
cnt ++ ;
if (sum == mid) sum = 0;
else sum = a[i];
}
}
if (sum) cnt ++ ;
return cnt <= m;
}
signed main()
{
cin >> n >> m;
int l = 0, r = 0;
for (int i = 1; i <= n; i ++ )
{
cin >> a[i];
l = max(l, a[i]);
r += a[i];
}
while (l < r)
{
int mid = l + r >> 1;
if (check(mid)) r = mid;
else l = mid + 1;
}
cout << r << endl;
return 0;
}