Pagini recente » Cod sursa (job #1704641) | Cod sursa (job #354036) | Cod sursa (job #2947933) | Cod sursa (job #3281086) | Cod sursa (job #3163100)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int n,k;
int v[16001];
void citire(){
fin>>n>>k;
for(int i=1;i<=n;i++){
fin>>v[i];
}
}
int verif(long x){
int P=1;
int i=1;
int s=0;
while(i<=n && P<=k){
s=s+v[i];
if(s>x) {
s = v[i];
P++;
//cout<<i<<endl;
}
i++;
}
if(i<=n || P>k)
return 0;
return 1;
}
long detval(){
long long L=1,R=256000000,M;
long long sol;
while(L<=R){
M=(L+R)/2;
if(verif(M)){
sol=M;
R=M-1;
}else{
L=M+1;
}
}
return sol;
}
int main() {
citire();
long long x=detval();
fout<<x;
}