Cod sursa(job #1048505)

Utilizator Robert29FMI Tilica Robert Robert29 Data 5 decembrie 2013 22:42:15
Problema Transport Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>
#define dim 16000
FILE*f=fopen("transport.in","r");
FILE*g=fopen("transport.out","w");
int n,k,v[dim+1];

int main()
{
    fscanf(f,"%d%d",&n,&k);
    for(int i=1;i<=n;++i)
        fscanf(f,"%d",&v[i]);

    int p=0;
    int u=dim;
    while(p<=u)
    {
        int m=(p+u)/2;

        int nr=k;
        int i=1;
        while(nr&&i<=n)
        {
            int volum=m;
            while(volum-v[i]>=0&&i<=n)
                volum-=v[i++];
            --nr;

        }
        if(i>n)
            u=m-1;
        else
            p=m+1;

    }

    fprintf(g,"%d",p);



    fclose(f);
    fclose(g);
    return 0;
}