Cod sursa(job #1558662)

Utilizator AndreidgDragomir Andrei Valentin Andreidg Data 29 decembrie 2015 14:34:31
Problema Transport Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
using namespace std;
int Max=0,Camion=-1,p,s,Val;
int main()
{int a[16001],i,n,k;
ifstream f("transport.in");
ofstream g("transport.out");
f>>n>>k;
for(i=1;i<=n;i++)
{
    f>>a[i];
    Max+=a[i];
    if(Camion<a[i])
    {
        Camion=a[i];
    }
}
while(Camion<=Max)
{
    Val=(Camion+Max)/2;
    p=1;
    s=0;
    for(i=1;i<=n;i++)
    {
        s=s+a[i];
        if(s>Val)
        {
            s=a[i];
            p++;
        }
    }
    if(p<=k)
    {
        Max=Val-1;
    }
    else
    {
        Camion=Val+1;
    }
}
g<<Camion;
f.close();
g.close();
    return 0;
}