Cod sursa(job #1775547)

Utilizator nyessNyess Muuu nyess Data 10 octombrie 2016 15:55:54
Problema Transport Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <cstdio>
int v[16000],n,k,max;
inline int zile(int x)
{
    int i,co,s;
    s=0,co=1;
    for(i=0;i<n;i++)
    {
        s+=v[i];
        if(s>x)
            co++,s=v[i];
    }
    return co;
}
int cbin()
{
    int i,j,mij,t;
    i=maxx;j=256000000;
    while(i<=j)
    {
        mij=(i+j)/2;
        if(zile(mij)>k)
            i=mij+1;
        else
        {
            t=mij;
            j=mij-1;
        }
    }
    return t;
}
int main()
{
    freopen("transport.in","r", stdin);
    freopen("transport.out","w", stdout);
    int i;
    fscanf(fin,"%d%d",&n,&k);
    for(i=0;i<n;i++)
    {
        fscanf(fin,"%d",&v[i]);
        if(v[i]>maxx)
            maxx=v[i];
    }
    printf("%d",cbin());
}
    return 0;