Pagini recente » Cod sursa (job #2127257) | Cod sursa (job #1652170) | Profil Maniu_Diana | Cod sursa (job #2607864) | Cod sursa (job #354775)
Cod sursa(job #354775)
#include<cstdio>
#define NMAX (1<<16)
int x[NMAX],k,n;
int tr(int cam)
{
int i,nc=0,nr=0;
for (i=1;i<=n;++i)
{
if (nc+x[i]<cam)
nc+=x[i];
else
{nr++;nc=x[i];}
}
if (nr<=k) return 1;
return 0;
}
int cb()
{
int i,pas=(1<<30);
for (i=0;pas;pas>>=1)
if (tr(i+pas)==0)
i+=pas;
return i+1;
}
int main()
{
int i;
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
scanf("%d%d",&n,&k);
for (i=1;i<=n;i++)
scanf("%d",&x[i]);
printf("%d",cb());
return 0;
}