Cod sursa(job #2562703)

Utilizator Paul987650Solot Paul Paul987650 Data 29 februarie 2020 17:16:48
Problema Transport Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>

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

int array[10001] = {};
int main()
{
    int n{}, k{}, cap{};
    int max{};
    cin >> n >> k;
    for(int i = 1; i <= n; i++){
        cin >> array[i];
        if(array[i] > max)
            max = array[i];
    }
    cap = max;
    bool ok = 0;
    while(!ok){
        int zile{}, i{1}, sum{};
        while(zile <= k && i <= n){
            if(sum + array[i] >= cap){
                sum = 0;
                zile++;
            }
            else{
                sum += array[i];
                i++;
            }
        }
        if(zile <= k)
            ok = 1;
        else
            cap++;
    }
    cout << cap;
}