Pagini recente » Cod sursa (job #2720719) | Cod sursa (job #2519442) | Cod sursa (job #2796191) | Cod sursa (job #1755947) | Cod sursa (job #1735299)
#include <cstdio>
using namespace std;
int n,k,v[16000];
bool ok(int mid)
{
int s=0,i=0,sum=0;
bool ok=1;
for(;k&&i<=n;k--)
{
while(sum<=mid&&i<=n)
{
sum+=v[++i];
}
}
if(i>=n) return 1;
return 0;
}
int main()
{
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
scanf("%d%d",&n,&k);
int maxx=0,sum=0;
for(int i=1;i<=n;i++)
{
scanf("%d",&v[i]);
if(maxx<v[i]) maxx=v[i];
sum+=v[i];
}
int ls,ld,mid;
ls=maxx;ld=sum;
while(ls<=ld)
{
mid=(ls+ld)/2;
if(ok(mid)) ls=mid+1;
else ld=mid-1;
}
printf("%d",ls+1);
return 0;
}