Cod sursa(job #2436308)

Utilizator Dragos1226Dragos Chileban Dragos1226 Data 5 iulie 2019 14:42:43
Problema Transport Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <bits/stdc++.h>
#define N 1000000000
using namespace std;

ifstream in("transport.in");
ofstream out("transport.out");
int n,k,v[16000];
int isC(int c) {
    int cc=0,t=0;
    for(int i=0;i<n;i++) {
        if(v[i]>c)
        return 0;
        if(v[i]>cc) {
        t++;
        cc=c;
        }
        cc-=v[i];
    }
    return (t<=k);
}


int main() {
    in>>n>>k;
    for(int i=0;i<n;i++)
        in>>v[i];
    int low=0,hi=16000;
    while(low<hi) {
        int m=(low+hi)/2;
        if(isC(m))
            hi=m;
        else low=m+1;
    }
    out<<low;
}