Pagini recente » Cod sursa (job #2677128) | Cod sursa (job #1465748) | Istoria paginii utilizator/gaycunt | Cod sursa (job #1856338) | Cod sursa (job #2258991)
#include <fstream>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int v[16005], suma = 0, maxi = 0, nrTransporturi, mijl, st, dr, i, n, k, rez;
int main()
{
f >> n >> k;
for(i = 1; i <= n; i++) {
f >> v[i];
suma = suma + v[i];
if(v[i] > maxi)
maxi = v[i];
}
st = maxi;
dr = suma;
while(st <= dr) {
mijl = (st + dr) / 2;
suma = 0;
nrTransporturi = 1;
for(i = 1; i <= n; i++) {
if(suma + v[i] <= mijl)
suma = suma + v[i];
else {
nrTransporturi++;
suma = v[i];
}
}
if(nrTransporturi > k)
st = mijl + 1;
else {
rez = mijl;
dr = mijl - 1;
}
}
g << rez;
return 0;
}