Pagini recente » Cod sursa (job #2770027) | Cod sursa (job #1781095) | Cod sursa (job #2768451) | Cod sursa (job #1440291) | Cod sursa (job #3152665)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int v[16005];
int n,k;
int verif(int c){
int transporturi_curent=k;
long long vol=0;
for(int i=1;i<=n;i++){
vol+=v[i];
if(vol>c){
transporturi_curent--;
vol=v[i];
}
}
return transporturi_curent>=1;
}
int cautbin(){
int st=1;
int dr=16005;
int predc=16005;
while(st<=dr){
int c=(st+dr)/2;
if(verif(c)){
predc=c;
dr=c-1;
}
else {
st=c+1;
}
}
return predc;
}
int main()
{
fin>>n>>k;
for(int i=1;i<=n;i++){
fin>>v[i];
}
fout<<cautbin();
return 0;
}