Pagini recente » Cod sursa (job #1152291) | Cod sursa (job #2948372) | Cod sursa (job #1277758) | Cod sursa (job #1827945) | Cod sursa (job #885529)
Cod sursa(job #885529)
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
long long n, k, i, v[16010], sup = 16001 * 16000, inf = 0, mij, ok = 1;
inline bool verif(int x) {
int s = 0, t = 0;
i = 0;
while((t <= k) && (i < n)) {
s = 0;
while((s < x) && (i <= n)) {
s += v[i];
++i;
}
s -= v[--i];
++t;
}
if(t > k) return false;
if(t <= k ) return true;
}
inline void binar() {
int h;
mij = (sup - inf)/ 2 + inf;
h = verif(mij);
if(h) {
sup = mij;
}
else {
inf = mij;
}
}
int main() {
fin >> n >> k;
for(i = 0; i < n; ++i) {
fin >> v[i];
}
while((sup - inf) > 1) {
binar();
}
if(mij % 2) {
fout << inf;
}
else {
fout << mij;
}
}