Cod sursa(job #1759501)

Utilizator DobosDobos Paul Dobos Data 19 septembrie 2016 12:43:38
Problema Transport Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <bits/stdc++.h>
typedef long long var;
const int NMAX = 16005;
const var EMAX = 1e13;
using namespace std;

ifstream fin("transport.in");
ofstream fout("transport.out");

int V[NMAX],K,n;

var Greedy(var C){
    var S = 0,k = 0;
    for(int i = 1; i <= n; i++){
        S += V[i];
        if(S > C){
            S = V[i];
            k++;
        }
    }
    return k;
}


var Binary(var L, var  R){

    if(L == R)
        return L;
    var C = (L + R)/2;
    int k = Greedy(C);
    if(k < K)
        return Binary(L, C);
    else
        return Binary(C + 1, R);

}

int main()
{
    ios :: sync_with_stdio(false);
    fin.tie(NULL);

    fin >> n >> K;

    for(int i = 1; i <= n; i++)
        fin >> V[i];
    fout << Binary(1,EMAX);

    return 0;
}