Cod sursa(job #1075104)

Utilizator AndyCatrunaCatruna Andy AndyCatruna Data 8 ianuarie 2014 17:03:14
Problema Transport Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <cmath>
#include <algorithm>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int v[16002],mid,a,s,x,y,z,n,k,i;
int main(){
    fin>>n>>k;
    for(i=1;i<=n;i++){
        fin>>v[i];
        s=s+v[i];
    }
    x=1;
    while(x<=s){
        mid=(x+s)/2;
        a=0;
        y=0;
        for(i=1;i<=n;i++){
            if(y+v[i]<=mid){
                y=y+v[i];
            }
            else{
                a++;
                y=v[i];
            }
        }

        if(a<k){
            s=mid-1;
        }
        else{
            x=mid+1;
        }
    }
    fout<<x<<"\n";



    return 0;
}