Pagini recente » Cod sursa (job #4538) | Cod sursa (job #1464073)
#include <fstream>
using namespace std;
int n,k,i,x,vs,v[16003],maxim,c,j,aux,suma,p,u;
ifstream fin ("transport.in");
ofstream fout ("transport.out");
int main (){
fin>>n>>k;
maxim = 0;
for (i=1;i<=n;i++){
fin>>v[i];
if (v[i]>maxim) {
maxim = v[i];
suma += v[i];
}
}
// for (i=maxim;;i++){
p = maxim;
u = suma;
while (p<=u) {
x = 0;
i = (p+u)/2;
c = i;
vs = 1;
while (vs <= n){
if (c-v[vs] >= 0){
c-=v[vs++];
}
else{
x++;
c = i;
//vs++;
}
}
x++;
if (x <= k)
u = i-1;
else
p = i+1;
}
fout<<p;
return 0;
}