Pagini recente » Cod sursa (job #2724429) | Cod sursa (job #1553505) | Cod sursa (job #1861419) | Cod sursa (job #135710) | Cod sursa (job #1068505)
#include<cstdio>
#include<algorithm>
using namespace std;
int n,T;
int v[16001];
int main()
{
freopen("transport.in","r",stdin);freopen("transport.out","w",stdout);
scanf("%d %d",&n,&T);
int i,Max=0;
for(i=1;i<=n;++i)
{
scanf("%d",&v[i]);
if(v[i]>Max) Max=v[i];
}
int y=16000*16000;
int mi,S,x;
while(Max<y)
{
S=0; x=1;
mi=(y+Max)/2;
for (i=1;i<=n;++i)
if (S+v[i]<=mi) S+=v[i];
else S=v[i],++x;
if (x>T) Max=mi+1;
else y=mi;
}
printf("%d",Max);
return 0;
}