Pagini recente » Cod sursa (job #1521698) | Cod sursa (job #1636) | Autentificare | Cod sursa (job #1521884) | Cod sursa (job #2074427)
#include <stdio.h>
#include <stdlib.h>
#define L 32
int n,k;
int v[16000];
int sepoate(int c){
int cc=0,nr=0,i;
for(i=0;i<n;i++){
if(v[i]>cc){
cc=c;
nr++;
}
if(v[i]>cc)
return 1;
if(nr>k)
return 1;
cc-=v[i];
}
return 0;
}
int main()
{
FILE *f1 = fopen("transport.in","r"), *f2 = fopen("transport.out","w");
int i;
int pas, r;
r=0;
pas=1<<L;
fscanf(f1,"%d%d",&n,&k);
for(i=0;i<n;i++)
fscanf(f1,"%d",&v[i]);
while(pas!=0){
if(!sepoate(r+pas))
r+=pas;
pas=pas/2;
}
fprintf(f2,"%d",r++);
return 0;
}