Pagini recente » Cod sursa (job #2875732) | Cod sursa (job #1982098) | Cod sursa (job #1774992) | Cod sursa (job #1386246) | Cod sursa (job #1138152)
#include<stdio.h>
#include<iostream>
using namespace std;
int v[16001];
int main(){
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
int nr,k,i,s,l1,l2,cate,mij,min;
scanf("%d%d",&nr,&k);
for(i=1;i<=nr;i++){
scanf("%d",&v[i]);
s=s+v[i];
}
l1=1;
l2=s;
while(l1<=l2){
s=0;
cate=1;
mij=(l1+l2)/2;
for(i=1;i<=nr;i++)
if(s+v[i]<=mij)
s=s+v[i];
else{
cate++;
s=v[i];
}
if(cate<=k){
l2=mij-1;
min=mij;
}
else
l1=mij+1;
}
cout<<min;
return 0;
}