Pagini recente » Cod sursa (job #1570637) | Cod sursa (job #1470668) | Cod sursa (job #2411816) | Cod sursa (job #2877425) | Cod sursa (job #262676)
Cod sursa(job #262676)
//#include<algorithm>
//using namespace std;
#define INF 10000001
#include<stdio.h>
int n,k,a[16001];
void solve(){
int i,s,m,st,dr,min,cont;
scanf("%d%d",&n,&k);
for(i=1; i<=n; ++i)
scanf("%d",&a[i]);
for(st=1,dr=min=INF; st<=dr; ){
m=(st+dr)/2;
for(i=cont=1,s=0; i<=n; ++i)
if(s+a[i]<=m)
s+=a[i];
else{
++cont;
s=a[i];}
if(cont<=k){
if(m<min)
min=m;
dr=m-1;}
else
st=m+1;}
printf("%d",min);}
int main(){
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
solve();
return 0;}