Cod sursa(job #2977654)

Utilizator toptoptopOctav Teo toptoptop Data 12 februarie 2023 02:24:11
Problema Transport Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>
#include <iostream>
#include <cstring>

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


int main()
{ int i, j, n, N, M=0, m, V, K, C;
bool go=true;
fin>>N>>K;
int v[N];
long long s, T=0, U, D;
for(i=0;i<N;i++) {
    fin>>m;
    v[i]=m;
    T=T+m;
    if(M<m) M=m;
}
U=T; D=M;
while(go) {
C=(U+D)/2;
s=0; n=1;
for(i=0;i<N;i++) {
    s=s+v[i];
    if(s>C) {
        s=v[i]; n=n+1;
        if(n>K) {
            D=C+1;
            goto start0;
        }
    }
}

U=C;
start0:;
if(U==D) go=false;
}
    fout<<D;
    return 0;
}