#include <fstream>
using namespace std;
ifstream in("transport.in");
ofstream out("transport.out");
const int N=16001;
int v[N],k,n,c,l=1,p=1;
int maxim(int a,int b)
{
if(a>b)
return a;
return b;
}
int cautbin(int x)
{
int pas = 1<<14,sum=0, i=p;
while(pas!=0)
{
if(i+pas<=n)
sum+=v[i+pas];
if(i+pas<=n&&(sum<=x))
{
i=pas;
//out << i<<endl;
}
pas/=2;
}
return i;
//out << i;
}
int main()
{
in >> n;
in >> k;
for(int i=1;i<=n;i++)
in>>v[i];
for(int i=1;i<=n;i++)
{
c = maxim(v[i], c);
}
while(l<=k)
{
int x= cautbin(c);
if(x!=n)
{
l++;
}
if(l==k)
{
c=0;
for(int i=x;i<=n;i++)
c+=v[i];
}
p++;
}
out << c;
//-----------
in.close();
out.close();
return 0;
}