Cod sursa(job #1453287)

Utilizator savinvadim1312savin vadim savinvadim1312 Data 23 iunie 2015 10:26:08
Problema Transport Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("transport.in");
ofstream g("transport.out");

int N,t[16005],s,K;

int Div(int low,int high){
    int mid,nr,q;
    if(low>=high)
        return high;
    mid=(high+low)/2;

    q=0;nr=1;
    for(int i=0;i<N;i++){
        q+=t[i];
        if(q+t[i+1]>mid){
            nr++;
            q=0;
        }
    }
    if(nr>K)
        return Div(mid+1,high);
    else
        return Div(low,mid-1);

}

int main()
{
    f>>N>>K;
    s=0;
    for(int i=0;i<N;i++){
        f>>t[i];
        s+=t[i];
    }

    g<<Div(s/K,s);


    return 0;
}