Pagini recente » Cod sursa (job #385037) | Cod sursa (job #2218791)
#include <fstream>
using namespace std;
int v[16001], n, k;
bool verif (int val)
{
int l = 0, h = k;
for (int i=1; i<=n; i++){
l += v[i];
if (l > val){
l = v[i];
h --;
}
if (h == 0){
return 0;
}
}
return 1;
}
int cautare_binara (int start, int fin)
{
while (start < fin){
int mid = (start + fin) /2;
if (verif(mid) == 0){
start = mid + 1;
}
else{
fin = mid;
}
}
return start;
}
int main ()
{
ifstream in ("transport.in");
ofstream out ("transport.out");
int sum = 0;
in >> n >> k;
for (int i=1; i<=n; i++){
in >> v[i];
sum += v[i];
}
out << cautare_binara(1, sum);
return 0;
}