Cod sursa(job #2427631)

Utilizator tubac_vladTubac Vlad-Cristian tubac_vlad Data 1 iunie 2019 12:52:48
Problema Transport Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>

#include <fstream>

using namespace std;

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

const int NM = 16000 ;
int v[NM], n, k ;

bool incap( int c )
{
    int nrt = 0, cc = 0 ;
    for( int i = 0 ; i < n ; i++ )
    {
        if( v[i] > c )
        {
            return false ;
        }
        if( v[i] > cc )
        {
            nrt++ ;
            cc = c ;
        }
        cc -= v[i] ;
    }
    return( nrt <= k ) ;
}

int main()
{
    in >> n >> k ;
    for( int i = 1 ; i <= n ; i++ )
    {
        cin >> v[i] ;
    }
    int r = 0, pas = 1 << 27 ;
    while( pas != 0 )
    {
        if( !incap ( r + pas ) )
        {
            r += pas ;
        }
        pas /= 2 ;
    }
    out << r + 1 ;

    return 0;
}