Cod sursa(job #1293748)

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

int n, k, i, v[160000], 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+1;
            else
                u=m-1;
            nr=0;
            i=1;
        }

    }
    fout<<p;

    return 0;
}