Cod sursa(job #1277368)

Utilizator LidiadobreaDobrea Lidia Ioana Lidiadobrea Data 27 noiembrie 2014 16:32:55
Problema Transport Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;
int n,k,c,i,v[16001],s,l1,l2,m;
bool verif(int s, int k, int n){
    int i,suma,j=1;
    suma=0;
    for(i=1;i<=k;i++){
        while(suma+v[j]<=s&&j<=n){
            suma+=v[j];
            j++;
        }
        suma=0;
    }
    if(j>n)
        return 1;
    else return 0;
}
int main(){
    ifstream in("transport.in");
    ofstream out("transport.out");
    in>>n>>k;
    for(i=1;i<=n;i++){
        in>>v[i];
        s+=v[i];
    }
    l1=1;
    l2=s;
    while(l1<l2){
        m=(l1+l2)/2;
        if(verif(m,k,n)==1) l2=m;
        else l1=m+1;
    }
    out<<m+1;
    in.close();
    out.close();
    return 0;
}