Pagini recente » Cod sursa (job #325467) | Cod sursa (job #1308726) | Cod sursa (job #421370) | Cod sursa (job #2584676) | Cod sursa (job #211112)
Cod sursa(job #211112)
#include <stdio.h>
const int n_max = 16001;
int a[n_max];
int n,k, i;
int good(int x)
{
int p = k, c = 0, o;
while (p >0)
{
o = x;
while (o >= 0 && c<=n)
o-=a[++c];
--c;
--p;
}
if (c>=n)
return 1;
return 0;
}
int main()
{
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
scanf("%d %d", &n, &k);
for (i = 1; i <= n; ++ i)
scanf("%d", &a[i]);
int step = 1<<29;
for (i = 0; step; step>>=1)
{
if (!good(i+step))
i+=step;
}
printf("%d\n", i+1);
}