Cod sursa(job #1113221)

Utilizator iov.lucaIov Luca iov.luca Data 20 februarie 2014 14:34:02
Problema Transport Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <cstdio>

using namespace std;

int main()
{freopen ("transport.in","r",stdin);
freopen ("transport.out","w",stdout);
int n,k,c,aux,smic,suma=0,max=0;
scanf ("%d%d",&n,&k);
int v[16001];
for (int i=1;i<=n;i++)
{scanf("%d",&v[i]);suma+=v[i];
if (max<v[i])
max=v[i];}



if (max>suma/k)
c=max;
else c=suma/k;
int ok=0;
while (ok==0)
{smic=0;aux=0;
for (int i=1;i<=n;i++)
{if(smic+v[i]<=c)
smic+=v[i];
else {smic=v[i];aux++;}}
if(smic<c)
aux++;
if (aux==k)
ok=1;
else c++;

}
printf("%d",c);





    return 0;
}