Cod sursa(job #1801098)

Utilizator usureluflorianUsurelu Florian-Robert usureluflorian Data 8 noiembrie 2016 17:38:54
Problema Transport Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <fstream>

using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int i,n,j,v[16001],r,k,p,t,m;
int l(int s)
{
    r=1;
    j=0;
    for(i=1;i<=n;++i)
    {
        j+=v[i];
        if(j>s) {++r;j=v[i];}
        if(r>k)return 0;
    }
    return 1;
}
int main()
{
    f>>n>>k;
    for(i=1;i<=n;++i) {f>>v[i];p+=v[i];}
    t=1;
    while(t<=p)
    {
        m=(t+p)/2;
        if(l(m)) p=m-1;
        else t=m+1;
    }
    g<<t;
    return 0;
}