Cod sursa(job #3333167)

Utilizator C_Str5734Straut Cristina C_Str5734 Data 11 ianuarie 2026 16:53:51
Problema Transport Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int n,k,i;
vector<int> v(16001);
int transport(int capacitate){
    int nr=n;
    int t=v[0];
for(i=1;i<n;i++){
    t+=v[i];
    if(t>capacitate) t=0;
    else nr--;
}
return nr;
}
int main()
{
   fin>>n>>k;
   int s=0, mn=0;
   for(i=0;i<n;i++) {
    fin>>v[i];
    s+=v[i];
    if(v[i]<mn) mn=v[i];
   }
   int l=mn;
   int r=s;
   int mij;
   vector<int> w(l+r+1);
   for(i=l;i<=r;i++) w[i]=i;
   do{
   mij=(l+r)/2;
    if(transport(w[mij])>k){
        l=mij;
    }
    else r=mij;
   }while(l<=r);
   fout<<v[mij];

    return 0;
}