Pagini recente » Cod sursa (job #997007) | Cod sursa (job #1185198) | Cod sursa (job #2752090) | Cod sursa (job #1331680) | Cod sursa (job #1799371)
#include<cstdio>
using namespace std;
int main()
{
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
int st,q,dr,s=0,ma=0,n,k,mid,ind,ct,v[16007];
scanf("%d %d",&n,&k);
for(int i=1; i<=n; i++)
{
scanf("%d",&v[i]);
if(v[i]>ma) ma=v[i];
s+=v[i];
}
st=ma;
dr=s;
while(st<=dr)
{
mid=(st+dr)/2;
ind=0;
q=mid;
for(int i=1; i<=n; i++)
if(v[i]<=q) q-=v[i];
else
{
q=mid-v[i];
ind++;
}
ind++;
if(ind<=k) dr=mid-1;
else st=mid+1;
}
printf("%d",st);
return 0;
}