Cod sursa(job #1248462)

Utilizator Vali_DeaconuVali Deaconu Vali_Deaconu Data 25 octombrie 2014 11:19:08
Problema Transport Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n, k, v[16001], dr, st, mid, i, maxs, s[8001], p, c;

int main()
{
    fin >> n >> k;
    for (i=1; i<=n; i++) {
        fin >> v[i];
        if (v[i] > maxs)
            maxs = v[i];
    }
    //cout << maxs << "\n";

    for (c = maxs; ;c++) {
        for (i=1;i<=p;i++)
            s[i] = 0;
        p = 1;

        for ( i=1; i <= n; i++ ) {
            if ( s[p] + v[i] > c ) {
                p++;
                s[p] += v[i];
            }
            else {
                s[p] += v[i];
            }
        }
        if (p<=k)
            break;
    }

    fout<<c;

    fin . close ();
    fout . close ();
    return 0;

}