Cod sursa(job #948605)

Utilizator BlackLordFMI Alex Oprea BlackLord Data 11 mai 2013 11:03:02
Problema Transport Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int n, k, s, i, a[16010], aux;


int verif(int x){
    int v=0, nr=0;
    for(i=1; i<=n; i++)
    {
        if(a[i]>x)
            return 0;
        if(v+a[i]<=x)
            v+=a[i];
        else
        {
            nr++;
            v=a[i];
        }
    }
    if(nr<k)
        return 1;
    return 0;
}

int main(){
    f>>n>>k;
    for(i=1; i<=n; i++)
        f>>a[i];
    f.close();
    while( !(verif(s+1) && !verif(s)) )
    {
        aux=1;
        while( !verif(s+aux) )
            aux*=2;
        s+=aux/2;
    }
    g<<s+1;
    g.close();
    return 0;
}