Pagini recente » Borderou de evaluare (job #1436701) | Cod sursa (job #194842) | Cod sursa (job #1623403) | Cod sursa (job #502051) | Cod sursa (job #213020)
Cod sursa(job #213020)
#include <stdio.h>
#define MAXN 16001
int v[MAXN];
int n,k,S=0;
void citire()
{
freopen("transport.in","r",stdin);
scanf("%d%d",&n,&k);
for (int 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;
m=(s+e)/2;
while (s<e)
{
if (verif(m)<=k)
e=m;
else
s=m+1;
m=(s+e)/2;
}
freopen("transport.out","w",stdout);
printf("%d\n",e);
}
int main()
{
citire();
wtfpie(); //OBEY THE PIE!!!
return 0;
}