Pagini recente » Cod sursa (job #1208370) | Cod sursa (job #889003) | Cod sursa (job #1873506) | Cod sursa (job #2505551) | Cod sursa (job #1711439)
#include <stdio.h>
#include <stdlib.h>
int salt[16009];
int k,n;
int poate(int c){
int i=0, nr, s;
for(nr=0;nr<k && i<n;nr++){
s=0;
while(i<n && s+salt[i]<=c)
s+=salt[i++];
}
if(i==n)
return 1;
else
return 0;
}
int main()
{
int pas=1<<14,j;
FILE*fin,*fout;
fin=fopen("transport.in","r");
fscanf(fin,"%d%d",&n,&k);
for(j=0;j<n;j++)
fscanf(fin,"%d",&salt[j]);
j=0;
while(pas!=0){
if(poate(j+pas)==0)
j+=pas;
pas/=2;
}
j++;
fout=fopen("transport.out","w");
fprintf(fout,"%d",j);
fclose(fout);
return 0;
}