Cod sursa(job #2181282)

Utilizator RaduNRadu Negovan RaduN Data 21 martie 2018 16:20:01
Problema Transport Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int v[16001], n, k;
bool e_bun(int c){
    int nr=0, cc=0;
    for (int i=0; i<n; i++){
        if (cc<v[i]){
            cc=c;
            nr++;
        }
        if (cc<v[i]){
            return false;
        }
        if (nr>k){
            return false;
        }
        cc-=v[i];
    }
    return true;
}
int main() {
    f>>n>>k;
    for (int i=0; i<n; i++){
        f>>v[i];
    }
    int pas=1<<14, c=0;
    while (pas!=0){
        if (pas+c<=n && !e_bun(c)){
            c+=pas;
        }
        pas/=2;
    }
    g<<c+2;
    return 0;
}