Cod sursa(job #1185236)

Utilizator GabyGabyGabriel Tuculina GabyGaby Data 15 mai 2014 11:30:23
Problema Transport Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");

int n, k, i, v[16003], u, p, m, nr, s;

int main(){
    fin>>n>>k;
    for(i=1; i<=n; i++){
        fin>>v[i];
        u+=v[i];
        if(v[i]>p)
            p=v[i];
    }
    i=1;
    while(p<=u){
        m=(u+p)/2;
        s=m;
        while(i<=n && s>0){
            s-=v[i];
            i++;
        }
        if(s<0)
            i--;
        nr++;
        if(i==n+1){
            if(nr>k)
                p=m;
            else
                u=m;
            nr=0;
            i=1;
        if(p==u-1)
            break;
        }

    }
    fout<<u;

    return 0;
}