Cod sursa(job #1068345)

Utilizator MacWonkMihai Alexandru Cosmin MacWonk Data 28 decembrie 2013 11:42:16
Problema Transport Scor 100
Compilator cpp Status done
Runda prega_28_dec Marime 0.66 kb
#include <fstream>
using namespace std;

ifstream f("transport.in");
ofstream g("transport.out");

int n,k,maxim,i,l,r,camion,t,m;
int x[16003];
int main()
{

    f>>n;
    f>>k;

    maxim=0;
    for(i=1;i<=n;++i) {
                        f>>x[i];
                        if(x[i]>maxim) maxim=x[i];
                      }

    l=maxim;
    r=257000000;
    while(l<r)
    {
        camion=0;
        t=1;
        m=(l+r)/2;
        for(i=1;i<=n;++i)
        {
            if(camion+x[i]>m) ++t,camion=x[i];
            else camion=camion+x[i];
        }

        if(t>k) l=m+1;
        else r=m;
    }

    g<<l;

    return 0;
}