Pagini recente » Cod sursa (job #2928347) | Cod sursa (job #1032070) | Cod sursa (job #2680242) | Cod sursa (job #1671328) | Cod sursa (job #2644836)
#include <iostream>
using namespace std;
int v[16005];
int main()
{
int n,k,sum=0,maxx=0,a;
cin>>n>>k;
for(int i=1; i<=n; i++)
{
cin>>a;
if(maxx<a)
maxx=a;
sum+=a;
v[i]=a;
}
int mij,st=maxx,dr=sum,c=0;
while(st<=dr)
{
mij=(st+dr)/2;
int nrd=1,suml=0;
for(int i=1; i<=n; i++)
{
if(suml+v[i]<=mij)
suml+=v[i];
else
{
nrd++;
suml=v[i];
}
}
if(nrd>k)
st=mij+1;
else
{
dr=mij-1;
c=mij;
}
}
cout<<c;
return 0;
}