Cod sursa(job #2977815)

Utilizator RAducapitanulBorca Radu Mihai RAducapitanul Data 12 februarie 2023 14:42:15
Problema Transport Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.05 kb
/******************************************************************************

                              Online C++ Compiler.
               Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/

#include <fstream>

using namespace std;

int main()
{
    ifstream cin("transport.in");
    ofstream cout("transport.out");
    int st=0,dr=0,i,n,m,s=0,t,k,sol;
    cin >> n >> k;
    int v[n+1];
    for(i=1;i<=n;i++)
    {
        cin >> v[i];
        if(st<dr)
            st=v[i];
        else
            dr+=v[i];
    }
    while(st<=dr)
    {
        m=(st+dr)/2;
        s=0;
        t=1;
        for(i=1;i<=n;i++)
            if(s+v[i]<=m)
                s=s+v[i];
            else
            {
                t++;
                s=v[i];
            }
        if(t>k)
            s+=m+1;
        else
        {
            sol=m;
            dr=m-1;
        }
    }
    cout << sol;

    return 0;
}