Cod sursa(job #2776960)

Utilizator sara321savu sara sara321 Data 21 septembrie 2021 18:27:12
Problema Transport Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb

#include<fstream>

using namespace std;

ifstream fin("transport.in");
ofstream fout("transport.out");


int v[16005],n,k,sol,st,dr,mid,i,mx;

int main()
{
    fin>>n>>k;
 mx=0;

    for(i=1;i<=n;i++)
    {
        fin>>v[i];

    if(mx<v[i]) mx=v[i];

    }
    st=mx;dr=10000000;

    while(st<=dr)
    {
        mid=(st+dr)/2;

        int nr=1;
        int ok=0;

        for( i=1;i<=n;i++)
        {
            if(ok+v[i]<=mid)
                ok+=v[i];
            else
            {
                ok=v[i];
                nr++;
            }
        }

        if(nr<=k)
        {
            sol=mid;
            dr=mid-1;
        }
            else st=mid+1;
    }

    fout<<sol<<'\n';
    return 0;
}