Cod sursa(job #3311876)

Utilizator CiuciuBogdanCiuciu Bogdan Gabriel CiuciuBogdan Data 24 septembrie 2025 18:44:54
Problema Transport Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, k, v[16001];

bool verificare(int a){
    int vol=0; int nrt=1;
    for(int i = 1;i<=n;i++){
        if(vol+v[i]<=a){
            vol+=v[i];
        } else if(v[i]>a)
            return false;
            else{
                vol=v[i];
                nrt++;
            }

    }
    if(nrt<=k){
        return true;
    }
    else
        return false;
}

int caut(){
    int s=1, d=256000000, mid, min=0;
    while(s<=d){
        mid=(s+d)/2;
        if(verificare(mid)){
            min=mid;
            d-=1;
        }
        else
            s+=1;
    }
    return min;
}

int main(){
    fin >> n >> k;
    for(int i = 1;i<=n;i++){
        fin >> v[i];
    }
    fout << caut();
}