Pagini recente » Cod sursa (job #1710057) | Cod sursa (job #1668416) | Cod sursa (job #2666641) | Cod sursa (job #1578650) | Cod sursa (job #1592187)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("transport.in");
ofstream out("transport.out");
int v[16003];
int n,k;
bool verif(int V, int st, int am) {
int cap = 0;
//cout << V << " " << st << " " << am << " " << (st >= n-1) << " " << (am == k) << endl;
if(st >= n && am == k)
return 1;
if(am > k) {
return 0;
}
while(true) {
if(cap + v[st] > V || st > n)
break;
cap += v[st];
st++;
}
return verif(V, st, am+1);
}
int main() {
in >> n >> k;
int V = 0;
for(int i = 0; i < n; i++) {
in >> v[i];
if(v[i] > V)
V = v[i];
}
while(true) {
if(verif(V, 0, 0)) {
out << V;
return 0;
}
V++;
}
// cout << verif(12313, 0, 0);am == k-1
return 0;
}