Cod sursa(job #1899252)

Utilizator mirceaisherebina mircea mirceaishere Data 2 martie 2017 16:50:42
Problema Transport Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>

using namespace std;

int v[16010];
int n, k, capacitate, t, i, maxim ,suma, crt;

int main() {
    ifstream fin ("transport.in");
    ofstream fout("transport.out");

    fin>>n>>k;
    for (i=1;i<=n;i++) {
        fin>>v[i];
        if (v[i] > maxim)
            maxim = v[i];
        suma += v[i];
    }

    for (capacitate = maxim; capacitate <= suma; capacitate++) {
        // calculez cate transporturi sunt necesare cu capacitatea fixata

        crt = capacitate - v[1];
        t = 1;
        for (i=2;i<=n;i++) {
            if (v[i] <= crt) {
                crt -= v[i];
            } else {
                t++;
                crt = capacitate - v[i];
            }
        }

        if (t <= k)
            break;
    }

    fout<<capacitate;


    return 0;
}