Pagini recente » Cod sursa (job #42370) | Cod sursa (job #2833030) | Cod sursa (job #1001979) | Cod sursa (job #3131952) | Cod sursa (job #1759498)
#include <bits/stdc++.h>
const int NMAX = 16005;
const int EMAX = 1e6;
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int V[NMAX],K,n;
int Greedy(int C){
int S = 0,k = 0;
for(int i = 1; i <= n; i++){
S += V[i];
if(S > C){
S = V[i];
k++;
}
}
return k;
}
int Binary(int L, int R){
if(L == R)
return L;
int 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;
}