Cod sursa(job #3298175)

Utilizator luca.rares.andreiLuca Rares Andrei luca.rares.andrei Data 27 mai 2025 19:06:26
Problema Transport Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <bits/stdc++.h>
#pragma GCC optimize("Ofast,unroll-loops")
using namespace std;


int n, k;
int v[100001];

struct cop{
    int suma, l, r, ord;
};

bool check(int sum){
    int s = 0, cnt = 0;
    for(int i = 0; i < n; i++)

        if(s < sum)
            s += v[i];
        else
            s = v[i],
        	cnt++;

    if(s >= sum)
        cnt++;

    if(cnt < k)
        return 0;

    return 1;
}

bool cmp(cop a, cop b){
    if(a.suma == b.suma) return a.l < b.l;
    return a.suma < b.suma;
}

bool leftt(cop a, cop b){
    return a.l < b.l;
}

signed main(void) {
    ifstream cin("transport.in");
	ofstream cout("transport.out");
    vector<cop> m;
    int s =0, ll=0, i=0, cnt=0;
    int sum=0;

    cin>>n>>k;
    for(int i=0; i<n; i++){
        cin>>v[i];
        sum += v[i];
    }

    int l=0, r=sum+1;
    while(l<r){
        int mid = (l+r+1) / 2;
        if(check(mid) == true)
            l = mid ;
            else r = mid-1;
    }
    cout<<r<<endl;

   return 0;
}