Cod sursa(job #2853413)

Utilizator CReaper1116Shang Cheng Lin CReaper1116 Data 20 februarie 2022 11:34:29
Problema Transport Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>

using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
typedef long long ll;
ll v[16000],n,k;
bool check(ll nr){
    ll s = 0,cnt = 0;
    for(ll i = 0;i < n;i++){
        if(s + v[i] > nr){
            s = v[i];
            cnt++;
        }else s+=v[i];
    }
    if(cnt > k)return 0;
    return 1;
}
ll bs(ll l,ll r){
    if(l == r){
        return l;
    }
    ll mij = (l + r)/2;
    if(check(mij)){
        return bs(l,mij);
    }else return bs(mij + 1,r);
}
int main()
{
    ll maxx = -1e9,i;
    fin>>n>>k;
    for(i = 0;i < n;i++){
        fin>>v[i];
        maxx = max(maxx,v[i]);
    }
    fout<<bs(maxx,256000000);
    return 0;
}