Pagini recente » Cod sursa (job #407388) | Cod sursa (job #1602180) | Cod sursa (job #2127243) | Cod sursa (job #684588) | Cod sursa (job #343036)
Cod sursa(job #343036)
#include<cstdio>
#define N 16001
short int n,k,v[N],minim;
int s,p=0,u;
bool verific(int x)
{
int sum=0,num=0;
for (int i=0; i<n;)
{
while(sum<x&&i<n)
{
++i;
sum+=v[i];
}
++num;
if(sum>x)
--i;
sum=0;
}
if (num>k)
return true;
return false;
}
void caut()
{
int m;
while (p!=u)
{
m=(p+u)/2;
if (verific(m))
p=m+1;
else
u=m;
}
printf("%d",p);
}
void citire()
{
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
scanf("%hd%hd",&n,&k);
for (int i=1; i<=n; ++i)
{
scanf("%hd",&v[n-i+1]);
if (v[n-i+1]>p)
p=v[n-i+1];
u+=v[n-i+1];
}
caut();
}
int main()
{
citire();
return 0;
}