Cod sursa(job #2074378)

Utilizator verde.cristian2005Verde Flaviu-Cristian verde.cristian2005 Data 24 noiembrie 2017 15:36:11
Problema Transport Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
using namespace std;
ifstream in("transport.in");
ofstream out("transport.out");
int v[100005],k,maxim=-1,n;
int verif(int x)
{
    int i,d=0,s=0;
    for(i=1; i<=n; i++)
    {
        s+=v[i];
        if(s+v[i+1]>x)
        {
            d++;
            s=0;
        }
    }
    return d+1;
}
void cautbin()
{
    int r=0,pas=1<<28;
    while(pas)
    {
        if(pas+r<maxim||verif(r+pas)>k)
            r+=pas;
        pas/=2;
    }
    out<<r+1;
}
int main()
{
    int i;
    in>>n>>k;
    for(i=1; i<=n; i++)
    {
        in>>v[i];
        maxim=max(maxim,v[i]);
    }
    cautbin();
    return 0;
}