Cod sursa(job #2662389)

Utilizator 2016Teo@Balan 2016 Data 23 octombrie 2020 23:30:27
Problema Transport Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;
#define x1 "transport.in"
#define x2 "transport.out"
ifstream in(x1);
ofstream out(x2);
int v[16000], n, i, k, r = 0, pas = 1 << 28;
int check(int nr) {
    int c = 0 , ans = 0;
    for(int i = 0; i < n; i++) {
        ans += v[i];
        if(ans > nr){
            c++;
            ans = v[i];
        }
    }
    return (c < k);
}
int main() {
    in >> n >> k;
    for(i = 0; i < n; i++)
        in >> v[i];
    while(pas) {
        if(!check(pas + r))
            r += pas;
        pas /= 2;
    }
    out << r + 1;
    return 0;
}