#include <stdio.h>
using namespace std;
int v[16000],n,k,st,dr;
void bin(int l);
int main ()
{
FILE *fin;
fin=fopen ("fisier.in","r");
for (int i=0; i<n; ++i)
{
fscanf(fin,"%d",&v[i]);
dr+=v[i];
if(st<v[i])st=v[i];
}
fclose (fin);
bin((st+dr)/2);
}
void bin(int l)
{
FILE *fout;
fout=fopen ("fisier.out","w");
int drum=0,temp=v[0];
for(int i=1; i<n; ++i)
{
if(temp+v[i]<=l)
{
temp+=v[i];
continue;
}
else
{
temp=v[i];
drum++;
if(drum>k)
{
st=(st+dr)/2;
bin((st+dr)/2);
}
}
}
if(st==dr)
{
fprintf(fout," %d",l);
fclose (fout);
return;
}
dr=(dr+st)/2;
bin((st+dr)/2);
}