Cod sursa(job #2524807)

Utilizator Dusceac_Bogdan24Dusceac Bogdan Dusceac_Bogdan24 Data 16 ianuarie 2020 12:48:25
Problema Transport Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int n,k,v[16005],st,dr,mid;
bool verif(int greu){
    int g=0,kk=1;
    for(int i=1;i<=n;i++){
        if(g+v[i]>greu){
            kk++;
            g=v[i];
        }
        else
            g+=v[i];
    }
    return kk<=k;


}
int main()
{
    fin>>n>>k;
    fin>>v[1];
    st=v[1];
    dr=v[1];
    for(int i=2;i<=n;i++){
        fin>>v[i];
        st=max(st,v[i]);
        dr+=v[i];
    }
    while(st<dr){
        mid=(st+dr)/2;
        if(verif(mid))
            dr=mid;
        else
            st=mid+1;
        fout<<st<<' '<<dr<<'\n';
    }
    return 0;
}
///7    10    13        20