Pagini recente » Cod sursa (job #2543295) | Cod sursa (job #1266587) | Cod sursa (job #666916) | Cod sursa (job #2096358) | Cod sursa (job #2890609)
#include <iostream>
#include <cstdio>
using namespace std;
int v[16001];
int main()
{
int n,k,i,c,st=0,dr,m,nr,p,x;
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
cin>>n>>k;
for(i=1;i<=n;i++)
{
cin>>nr;
if(nr>st)
st=nr;
v[i]=v[i-1]+nr;
}
dr=v[n];
while(st<=dr)
{
m=(st+dr)/2;
i=1;
x=0;
p=0;
while(i<=n)
{
x++;
while(v[i]-v[p]<=m && i<=n)
i++;
p=i-1;
}
if(x>k)
st=m+1;
else
{
c=m;
dr=m-1;
}
}
cout<<c;
return 0;
}