Cod sursa(job #3305467)

Utilizator mihiboiBacis Mihai-Cristian mihiboi Data 1 august 2025 19:40:45
Problema Transport Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");

int saltele[16001], n, k;

int spatiu_verif(int camioane) {
    int j = 1, i = 1, s;
    while (j <= k) {
        s = 0;
        while (s + saltele[i] <= camioane && i <= n) {
            s += saltele[i];
            i++;
        }
        if (i - 1 == n)
            return 1;
        j++;
    }
    return 0;
}

int binary_search(int st, int dr) {
    int mij = st + (dr - st) / 2;
    if (st > dr)
        return 16000 * 16000 + 1;
    if (spatiu_verif(mij))
        return min(mij, binary_search(st, mij - 1));
        else
        return binary_search(mij + 1, dr);
}

int main() {
    fin >> n >> k;

    for (int i = 1; i <= n; i++) {
        fin >> saltele[i];
    }
    
    fout << binary_search(1, 16000 * 16000);

    return 0;
}