Cod sursa(job #3280968)

Utilizator radu_pipbro ce urasc site ul asta radu_pip Data 27 februarie 2025 21:59:41
Problema Transport Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#define int long long
using namespace std;
ifstream cin("transport.in");
ofstream cout("transport.out");
int v[100001];
signed main()
{
    int n,k;
    cin>>n>>k;
    for(int i=1;i<=n;i++)
        cin>>v[i];
    int pas=1<<20;
    int val=0;
    while(pas)
    {
        int bro=pas+val;
        int cnt=1;
        int s=0;
        int maxi=-1;
        for(int i=1;i<=n;i++)
        {
            maxi=max(maxi,v[i]);
            if(s+v[i]>=bro)
            {
                cnt++;
                s=v[i];
            }
            else
                s+=v[i];
        }
        if(cnt>k || bro<maxi)
            val+=pas;
        pas/=2;
    }
    cout<<val+1;
    return 0;
}