Pagini recente » Cod sursa (job #1910120) | Cod sursa (job #1779013) | Cod sursa (job #627212) | Cod sursa (job #2410355) | Cod sursa (job #211111)
Cod sursa(job #211111)
#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)
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<<30;
for (i = 0; step; step>>=1)
{
if (!good(i+step))
i+=step;
}
printf("%d\n", i+1);
}