Pagini recente » Cod sursa (job #1090948) | Cod sursa (job #2734048) | Cod sursa (job #1004933) | Cod sursa (job #577572) | Cod sursa (job #482327)
Cod sursa(job #482327)
#include<algorithm>
using namespace std;
int n,k,i,s,step;
int st[16002];
bool solve(int C)
{
int i,j,c,nr=0;
for(i=1;i<=n;)
{
j=i; c=st[i];
while(j<=n&&c<=C)
{
j++;
c+=st[j];
}
if(j==i)
return 0;
if(++nr>k)
return 0;
i=j;
}
return 1;
}
int main()
{
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
scanf("%d",&st[i]),s+=st[i];
for(step=1;step<s;(step<<=1));
for(i=s;step;(step>>=1))
{
if(i-step<=0)
continue;
if(solve(i-step))
i-=step;
}
printf("%d\n",i);
return 0;
}