#include <stdio.h>
#include <stdlib.h>
int v[16000];
int main(){
FILE *fin, *fout;
int n, k, i, max, corect, s, sall, j, nrtr;
fin=fopen("transport.in", "r");
fout=fopen("transport.out", "w");
fscanf(fin, "%d%d", &n, &k);
max=0;
sall=0;
for(i=0;i<n;i++){
fscanf(fin, "%d", &v[i]);
if(max<v[i])
max=v[i];
sall=sall+v[i];
}
corect=0;
s=0;
printf("n: %d, k: %d\n", n, k);
for(i=0;i<n;i++)
printf("v[%d]=%d\n", i, v[i]);
max--;
while(corect==0){
max++;
i=0;
nrtr=0;
while(i<n){
nrtr++;
s=0;
while(s+v[i]<=max && v[i]!=0){
s=s+v[i];
i++;
printf("Nrtr: %d, s: %d, sall: %d, v[i]: %d, i: %d, max: %d, s+v[i]: %d\n", nrtr, s, sall, v[i-1], i, max, s+v[i]);
}
}
if(nrtr==k)
corect=1;
}
fprintf(fout, "%d", max);
fclose(fin);
fclose(fout);
return 0;
}