Pagini recente » Cod sursa (job #2946106) | Cod sursa (job #3131233) | Cod sursa (job #2817053) | Cod sursa (job #396606) | Cod sursa (job #1030110)
#include <stdio.h>
#include <stdlib.h>
int v[16000];
int main()
{
FILE *fin, *fout;
int n,k,i,x,z,d,s,l;
fin=fopen("transport.in","r");
fout=fopen("transport.out","w");
fscanf(fin,"%d%d",&n,&k);
for(i=0;i<n;i++)
{
fscanf(fin,"%d",&v[i]);
s=s+v[i];
}
z=s;
x=0;
while(z-x>2)
{
l=(z-x)/2+x;
d=0;
i=0;
s=0;
while(i<n && d<=k)
{
s=s+v[i];
i++;
if(v[i]>l)
d=k+1;
if(s>l)
{
i--;
s=0;
d++;
}
}
if(d<k)
z=l;
else
x=l;
}
fprintf(fout,"%d",z);
fclose(fin);
fclose(fout);
return 0;
}