Cod sursa(job #1760486)

Utilizator tiberiu.bucur17Tiberiu Constantin Emanoil Bucur tiberiu.bucur17 Data 20 septembrie 2016 20:58:32
Problema Transport Scor 80
Compilator c Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>
int v[16000],n,k;
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=1;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()
{
    FILE *fin,*fout;
    fin=fopen("transport.in","r");
    fout=fopen("transport.out","w");
    int i;
    fscanf(fin,"%d%d",&n,&k);
    for(i=0;i<n;i++)
        fscanf(fin,"%d",&v[i]);
    fprintf(fout,"%d",cbin());
    fclose(fin);
    fclose(fout);
    return 0;
}