Pagini recente » Cod sursa (job #60285) | Cod sursa (job #834502) | Cod sursa (job #941010) | Cod sursa (job #1076752) | Cod sursa (job #213022)
Cod sursa(job #213022)
#include <stdio.h>
#define MAXN 16100
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=0,b=1,i;
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;
while (s<e)
{
m=(s+e)/2;
if (verif(m)<=k)
e=m;
else
s=m+1;
}
freopen("transport.out","w",stdout);
printf("%d\n",e);
}
int main()
{
citire();
wtfpie(); //OBEY THE PIE!!!
return 0;
}