Pagini recente » Cod sursa (job #3002672) | Cod sursa (job #2658835) | Cod sursa (job #800567) | Cod sursa (job #458811) | Cod sursa (job #213015)
Cod sursa(job #213015)
#include <stdio.h>
#define MAXN 16001
int v[MAXN];
int n,k,S=0;
void citire()
{
freopen("transport.in","r",stdin);
int i;
scanf("%d%d",&n,&k);
for (i=0; i<n; ++i)
{
scanf("%d",&v[i]);
S+=v[i];
}
}
inline int verif(int x)
{
int a,b=1,i;
a=0;
for (i=0; i<n; ++i)
{
if (a+v[i]<=x)
{
a+=v[i];
}
else
{
a=v[i];
b++;
}
}
return b;
}
void wtfpie ()
{
int s=1, e=S, m, b;
m=(s+e)/2;
while (s<e)
{
b=verif(m);
if (b<=k)
e=m;
if (b>k)
s=m+1;
m=(s+e)/2;
}
freopen("transport.out","w",stdout);
printf("%d\n",m);
}
int main()
{
citire();
wtfpie();
return 0;
}