Pagini recente » Cod sursa (job #379794) | Cod sursa (job #361980) | Cod sursa (job #320773) | Cod sursa (job #536762) | Cod sursa (job #3038353)
#include <fstream>
using namespace std;
ifstream fin ("transport.in");
ofstream fout ("transport.out");
int stiva[16001],n;
bool ok(int c, int k){
int s=0,i,nrt=1;
for(i=1;i<=n;i++){
if(s+stiva[i]<=c){
s+=stiva[i];
}else{
s=stiva[i];
nrt++;
}
}
return (nrt<=k);
}
int st=1,dr=256000000,mij,c,k,i;
int main()
{
fin>>n>>k;
for(i=1;i<=n;i++){
fin>>stiva[i];
}
while(st<=dr){
mij=(st+dr)/2;
if(ok(mij,k)){
c=mij;
dr=mij-1;
}else{
st=mij+1;
}
}
fout<<c;
return 0;
}