Cod sursa(job #3303829)

Utilizator AlfexAlex Florea Alfex Data 18 iulie 2025 11:33:33
Problema Transport Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;
vector<int>v;
    int n, k,s=0;
bool check(int nr)
{
    int sum=0,cnt=1;
    for(int i=1;i<=n;i++)
    {
        sum+=v[i];
        if(sum>nr)
        {
            sum=v[i];
            cnt++;
        }
    }
return cnt<=k;
}
int main()
{
    freopen("transport.in", "r",stdin);
    freopen("transport.out", "w", stdout);
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    cin>>n>>k;
    v=vector<int>(n+1);
    for(int i=1;i<=n;i++){
        cin>>v[i];
        s+=v[i];
    }
    int st=1, dr=s;
    while(st<=dr)
    {
        int mij=(st+dr)/2;
        if(!check(mij))
        {
            st=mij+1;
        }
        else dr=mij-1;
    }
    cout<<st;
    return 0;
}