Pagini recente » Cod sursa (job #1853291) | Cod sursa (job #2956565) | Cod sursa (job #2097627) | Cod sursa (job #1784671) | Cod sursa (job #792044)
Cod sursa(job #792044)
#include<stdio.h>
#include<stdlib.h>
int main()
{
//freopen("transport.in","r",stdin);
//freopen("transport.out","w",stdout);
FILE *f=fopen("transport.in","r"),*g=fopen("transport.out","w");
int n,k,*a,i,cap,max=0,s=0,nr,ok,aux;
fscanf(f,"%d %d",&n,&k);
a=malloc(n*sizeof(int));
for(i=0;i<n;i++)
{
fscanf(f,"%d",&a[i]);
if(a[i]>max) max=a[i];
s+=a[i];
}
if(s/k>max) cap=s/k;
else cap=max;
nr=0;ok=1;aux=cap;
while(ok)
{
if(aux-a[i]>=0) aux-=a[i];
else {nr++;
aux=cap-a[i];
}
if(nr>k) {cap++;
aux=cap;
i=0;
nr=0;
}
if(i==n-1) ok=0;
i++;
}
fprintf(g,"%d",cap);
return 0;
}