Pagini recente » Cod sursa (job #2110240) | Cod sursa (job #2466974) | Cod sursa (job #2492514) | Cod sursa (job #2222638) | Cod sursa (job #1562302)
#include <fstream>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
const int MAX_N = 16100;
int N, K;
int v[MAX_N];
bool check(int m) {
int s = 0;
int num = 1;
for (int i = 1; i <= N; i += 1) {
if (v[i] > m) return false;
if (s + v[i] > m) {
num += 1;
s = 0;
}
s += v[i];
}
return (num <= K);
}
int main() {
fin >> N >> K;
for (int i = 1; i <= N; i += 1) {
fin >> v[i];
}
int res = 0;
for (int bit = (1 << 14); bit > 0; bit /= 2) {
if (!check(res + bit)) res += bit;
}
fout << res + 1 << endl;
return 0;
}