Pagini recente » Cod sursa (job #3042327) | Cod sursa (job #2984313) | Cod sursa (job #1282094) | Cod sursa (job #864350) | Cod sursa (job #140744)
Cod sursa(job #140744)
#include<cstdio>
FILE *fin=freopen("transport.in","r",stdin),
*fout=freopen("transport.out","w",stdout);
int n,t,a[16000],min,max,mm;
void citire()
{
scanf("%d %d",&n,&t);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
if(a[i]>min)
min=a[i];
max+=a[i];
}
}
void solve()
{
int m,li=min,lf=max;
while(li<=lf)
{
m=(li+lf)/2;
int k=1,s=0;
for(int i=1;i<=n;i++)
{
s+=a[i];
if(s>m) {s=0; i--; k++;}
}
if(k>t)
li=m+1;
else
{
lf=m-1;
mm=m;
}
}
printf("%d",mm);
}
int main()
{
citire();
solve();
return 0;
}