Pagini recente » Cod sursa (job #424024) | Cod sursa (job #852690) | Cod sursa (job #2877697) | Cod sursa (job #1968021) | Cod sursa (job #3152666)
#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;
int 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=1600*1600;
int predc;
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;
}