Cod sursa(job #1459927)

Utilizator stefan.botezStefan Botez stefan.botez Data 11 iulie 2015 12:10:28
Problema Transport Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#define N 16005
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int x,v[N],n,i,k,mx,s,l,h,m;
int ver(int x)
{
    int c=1;
    int s=0;
    for(i=1;i<=n;i++)
    {
        if(s+v[i]>x)
        {
            c++;
            s=v[i];
        }
        else
            s+=v[i];
    }
    if(c<=k)
        return 1;
    return 0;
}
int main()
{

    f>>n>>k;
    for(i=1;i<=n;i++)
    {
        f>>v[i];s+=v[i];
        mx=mx>v[i]?mx:v[i];
    }
    l=mx;h=s;
    while(l<h)
    {
        m=(h+l)/2;
        if(ver(m))
        {
            h=m;
            x=m;
        }
        else l=m+1;
    }
    g<<x;
    return 0;
}