Cod sursa(job #1508495)

Utilizator tqmiSzasz Tamas tqmi Data 22 octombrie 2015 17:17:46
Problema Transport Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int a[16005],n,k,i,vol,c,mid,l,r;
void cit()
{
    fin>>n>>k;
    for(i=1;i<=n;i++)
    {
        fin>>a[i];
    }
}
int check()
{
    c=0;
    for(i=1;i<=n;i++)
    {
        if(vol+a[i]<=mid)
        {
            vol+=a[i];
        }
        else
        {
            c++;
            vol=a[i];
        }
    }
    if(c>k){return 0;}
    else{return 1;}
}
int main()
{
    cit();
    l=1;r=16000*16000;
    mid=(l+r)/2;
    while(l<r)
    {
        if(check()){r=mid-1;}
        else{l=mid+1;}
        mid=(l+r)/2;
    }
    fout<<mid<<"\n";

}