Cod sursa(job #2869317)

Utilizator Beverita2345Bretan Alexandru Beverita2345 Data 11 martie 2022 13:58:56
Problema Transport Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <vector>
using namespace std;

ifstream cin("transport.in");
ofstream cout("transport.out");

long long n,k,x;

vector <long long>v;
int main()
{
    cin>>n>>k;

    cin>>x,v.push_back(x);

    for(long long i=1; i<n; i++)
        cin>>x,v.push_back(x);

    long long l=0,r=10e9,cnt;

    while(l<r)
    {
        long long mid=(l+r)/2;

        long long sum=0;

        cnt=0;

        for(long long i=0; i<v.size()&&cnt<k; i++)
        {
            if(sum+v[i]<=mid)
            {
                sum+=v[i];
            }
            else
            {
                sum=v[i];

                cnt++;
            }
        }

        cnt++;

        if(cnt<=k)
            r=mid;
        else
            l=mid+1;

    }

    cout<<l;

    return 0;
}