Cod sursa(job #2955663)

Utilizator Kimberly_Brubaker_BradelyKimberly Brubaker Kimberly_Brubaker_Bradely Data 17 decembrie 2022 16:21:27
Problema Transport Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
using namespace std;
ifstream cin ("transport.in");
ofstream cout ("transport.out");
int v[16001], n, k, dr=16000, st=0, max1=0, mij, i;
int check(int d){
    int cnt=0, cd;
    cd=d;
    for(i=1; i<=n; i++){
        if(d-v[i]<0){
            cnt++;
            d=cd-v[i];
        }
        else d=d-v[i];
    }
    return cnt;
}
int main(){
    cin >> n >> k;
    for(i=1; i<=n; i++){
        cin >> v[i];
        if(v[i]>max1) max1=v[i];
    }
    st=max1;
    while(dr-st>1){
        mij=(st+dr)/2;
        if(check(mij)>k) st=mij;
        else dr=mij;
    }
    cout << dr;
    return 0;
}