Cod sursa(job #2804001)

Utilizator T1raduTaerel Radu Nicolae T1radu Data 20 noiembrie 2021 18:07:40
Problema Transport Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#include <iostream>
#include <stack>
using namespace std;

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

int n,k,v[16001],T,C,maxim;

int main()
{
    fin >> n >> k;
    for(int i=1;i<=n;i++)
    {
        fin >> v[i];
        T+=v[i];
        maxim=max(maxim,v[i]);
    }

    int st=maxim,dr=T;
    while(st<dr)
    {
        C=(st+dr)/2;
        int crt=1,s=0;
        for(int i=1;i<=n;i++)
        {
            s+=v[i];
            if(s>C)
            {
                crt++;
                s=v[i];
            }
        }
        if(crt<=k)
            dr=C;
        else st=C+1;
    }
    fout << dr;
    return 0;
}