Cod sursa(job #1711576)

Utilizator Mihai9Oniga Mihai Mihai9 Data 31 mai 2016 18:32:59
Problema Transport Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <fstream>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int v[16005],i,j,k,c,n,m,s,d,vol,t;
int main(){
    f>>n>>k;
    for (i=1; i<=n; i++) {
    f>>v[i];
    if (v[i]>s) s=v[i];
    d+=v[i];
    }
    while (s<=d){
    m=(s+d)/2;
    t=1; vol=0;
    for (i=1; i<=n; i++){
        if (v[i]+vol>m){ t++; vol=v[i]; }
        else vol+=v[i];
    }
    if (t<=k){ c=m; d=m-1; }
    else s=m+1;
    }
    g<<c;
    return 0;
}