Pagini recente » Cod sursa (job #512466) | Cod sursa (job #883224) | Cod sursa (job #1718368) | Cod sursa (job #1805375) | Cod sursa (job #3152669)
#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=16000*16000;
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;
}