Pagini recente » Cod sursa (job #769123) | Cod sursa (job #592682) | Cod sursa (job #1070112) | Cod sursa (job #3209329) | Cod sursa (job #732626)
Cod sursa(job #732626)
#include<cstdio>
using namespace std;
long long int a,v[16009],k,m,n,s=0,i,l,x=1,y,me,p;
bool hai(int u){
long long int s=0,j=0,l=0;
for(l=1;l<=n;l++){
if(s+v[l]>u){
if(v[l]>u)
return false;
j++;
s=v[l];
if(j>k)
return false;}
else
s+=v[l];
}
return (j<=k);
};
int main(){
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
scanf("%lld %lld",&n,&k);
for(i=1;i<=n;i++){
scanf("%lld",&v[i]);
s=s+v[i];}
y=s;
while(x<=y){
me=(x+y)/2;
if(hai(me)){
p=me;
y=me-1;}
else
x=me+1;
}
printf("%lld",p);
return 0;
}