Pagini recente » Monitorul de evaluare | Cod sursa (job #389946) | Diferente pentru preoni-2008 intre reviziile 12 si 13 | Monitorul de evaluare | Cod sursa (job #1464080)
#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;
suma = 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) {
i = (p+u)/2;
c = i;
x = 1;
c -= v[1];
for(j=2;j<=n;j++) {
if (c >= v[j])
c -= v[j];
else {
x++;
c = i-v[j];
}
}
if (x <= k)
u = i-1;
else
p = i+1;
}
fout<<p;
return 0;
}