Pagini recente » Cod sursa (job #245741) | Cod sursa (job #1510076) | Cod sursa (job #2480664) | Cod sursa (job #2748090) | Cod sursa (job #2076165)
#include <stdio.h>
#include <stdlib.h>
#define L 16
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 0;
if(nr>k)
return 0;
cc-=v[i];
}
return 1;
}
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]);
printf("%d",pas);
while(pas!=0){
if(!sepoate(r+pas))
r+=pas;
pas=pas/2;
}
fprintf(f2,"%d",r+1);
return 0;
}