Pagini recente » Istoria paginii utilizator/mihnea_toader | Cod sursa (job #159947) | Cod sursa (job #2289367) | Cod sursa (job #1706538) | Cod sursa (job #2426645)
#include <stdio.h>
int a[16000];
int main(){
FILE*fin,*fout;
fin=fopen("transport.in", "r");
fout =fopen("transport.out", "w");
int n,i,j,k,nt,c2,c,p,r,ok;
fscanf(fin,"%d%d",&n,&k);
for(i=0;i<n;i++)
fscanf(fin,"%d",&a[i]);
p=1;
for(i=1;i<28;i++)
p*=2;
r=0;
while(p>0){
c=p+r;
ok=0;
nt=c2=0;
for(i=0;i<n;i++){
if(a[i]>c){
ok=1;
}
if(a[i]>c2){
c2=c;
nt++;
}
c2-=a[i];
}
if(nt>k)
ok=1;
if(ok==1)
r+=p;
p/=2;
}
fprintf(fout,"%d",r+1);
fclose(fin);
fclose(fout);
return 0;
}