Cod sursa(job #1251650)

Utilizator ConstantinPetroviciPetrovici Constantin ConstantinPetrovici Data 29 octombrie 2014 19:08:08
Problema Transport Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <cstdio>

using namespace std;

int n , k ,v[16007];

int greedy(int x)
{
    int nr=1;
    int suma=0;
    for ( int i = 1 ; i <= n ; ++i )
    {
        if ( v [ i ] > x )
            return 0 ;
        if (suma+v[i]<=x){
            suma=suma+v[i];
        }
        else
        {
            suma=v[i];
            nr++;
        }
    }
    if (nr>k)return 0;
    return 1;
}
int main()
{
    freopen ("transport.in" , "r" , stdin );
    freopen ("transport.out" , "w" , stdout );
    scanf ("%d%d" , &n , &k );
    for ( int i = 1 ; i <= n ; ++i )
        scanf ("%d" , &v[i] ) ;
    for ( int i = 1 ; i <= 2500000 ; ++i )
        if (greedy(i) == 1){
                        printf ("%d" , i );
                        break;
                        }
    return 0;
}