Pagini recente » Cod sursa (job #1990527) | Cod sursa (job #1379711) | Cod sursa (job #696555) | Cod sursa (job #1359400) | Cod sursa (job #792047)
Cod sursa(job #792047)
#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;
scanf("%d %d",&n,&k);
a=malloc(n*sizeof(int));
for(i=0;i<n;i++)
{
scanf("%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++;
}
printf("%d",cap);
return 0;
}