Cod sursa(job #3298857)

Utilizator Iustin.DDragusanu Iustin Iustin.D Data 2 iunie 2025 18:06:21
Problema Transport Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>
#include <cmath>
using namespace std;

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

#define int long long

int arr[16001];

int32_t main()
{
    int n,k,sum=0;
    cin>>n>>k;
    for (int i=1; i<=n; i++) {cin>>arr[i]; sum+=arr[i];}
    int s=1,r=sum;
    while (s<r)
    {
        int v=(s+r)/2,ss=0,cnt=1;
        for (int i=1; i<=n; i++)
        {
            ss+=arr[i];
            if (ss>v) {ss=arr[i]; cnt++;}
        }
        if (cnt>k) s=v+1;
        else r=v;
    }
    cout<<s;
}