Pagini recente » 123124 | Cod sursa (job #418759) | Cod sursa (job #677286) | Cod sursa (job #1587916) | Cod sursa (job #1759501)
#include <bits/stdc++.h>
typedef long long var;
const int NMAX = 16005;
const var EMAX = 1e13;
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int V[NMAX],K,n;
var Greedy(var C){
var S = 0,k = 0;
for(int i = 1; i <= n; i++){
S += V[i];
if(S > C){
S = V[i];
k++;
}
}
return k;
}
var Binary(var L, var R){
if(L == R)
return L;
var C = (L + R)/2;
int k = Greedy(C);
if(k < K)
return Binary(L, C);
else
return Binary(C + 1, R);
}
int main()
{
ios :: sync_with_stdio(false);
fin.tie(NULL);
fin >> n >> K;
for(int i = 1; i <= n; i++)
fin >> V[i];
fout << Binary(1,EMAX);
return 0;
}