Cod sursa(job #2869288)

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

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

int n,k,x;

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

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

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

    int l=0,r=(1<<9),cnt;

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

        int sum=0;

        cnt=0;

        for(int i=0; i<v.size(); 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;
}