Pagini recente » Cod sursa (job #2856770) | Cod sursa (job #1188179) | Cod sursa (job #1435391) | Cod sursa (job #2779852) | Cod sursa (job #1899252)
#include <fstream>
using namespace std;
int v[16010];
int n, k, capacitate, t, i, maxim ,suma, crt;
int main() {
ifstream fin ("transport.in");
ofstream fout("transport.out");
fin>>n>>k;
for (i=1;i<=n;i++) {
fin>>v[i];
if (v[i] > maxim)
maxim = v[i];
suma += v[i];
}
for (capacitate = maxim; capacitate <= suma; capacitate++) {
// calculez cate transporturi sunt necesare cu capacitatea fixata
crt = capacitate - v[1];
t = 1;
for (i=2;i<=n;i++) {
if (v[i] <= crt) {
crt -= v[i];
} else {
t++;
crt = capacitate - v[i];
}
}
if (t <= k)
break;
}
fout<<capacitate;
return 0;
}