Cod sursa(job #2853421)

Utilizator CReaper1116Shang Cheng Lin CReaper1116 Data 20 februarie 2022 11:40:08
Problema Transport Scor 100
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");
int v[16000],n,k;
int check(int nr){
    int s = 0,cnt = 0;
    for(int i = 0;i < n;i++){
        if(s + v[i] > nr){
            s = 0;
            cnt++;
        }
        s+=v[i];
    }
    cnt++;
    if(cnt > k)return 0;
    return 1;
}
int bs(int l,int r){
    if(l == r){
        return l;
    }
    int mij = (l + r)/2;
    if(check(mij)){
        return bs(l,mij);
    }else return bs(mij + 1,r);
}
int main()
{
    int 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;
}