Cod sursa(job #1083266)

Utilizator luizaelenaLuiza Cucu luizaelena Data 15 ianuarie 2014 19:57:38
Problema Transport Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
#define nm 16005
using namespace std;
 
ifstream f("transport.in");
ofstream g("transport.out");
 
int n, k, v[nm], i, step, sumaVol=0, maxVol=0;
 
int drum(int vol)
{
    int nr = 1, s = 0,i;
    for ( i=1; i<=N; ++i )
        if ( s + v[i] <= vol )
		s += v[i];
        else
            {s = v[i];
            nr++;}
 
    return nr;
}
 
int main()
{
    int i;
    f>>n>>k;
    for ( i=1; i<=n; ++i )
        {
            f>>v[i];
            sumaVol += v[i];
            maxVol = max(v[i], maxVol);
        }
 
    for ( step = 1; step < sumaVol; step <<= 1 );
    for ( i = step; step; step >>= 1 )
        if ( i - step >= maxVol && drum(i-step) <= k)
            i -= step;
 
 
    g<<i;
}