Pagini recente » Cod sursa (job #461171) | Cod sursa (job #1010025) | Cod sursa (job #663691) | Cod sursa (job #2208189) | Cod sursa (job #155590)
Cod sursa(job #155590)
# include <stdio.h>
# include <vector>
using namespace std;
# define input "transport.in"
# define output "transport.out"
# define MAX 1605
long i,j,n,k,st,dr,mij;
long a[MAX];
int main()
{
freopen(input, "r", stdin);
freopen(output, "w", stdout);
scanf("%ld%ld",&n,&k);
dr = 0;
st = 0;
for(i=1;i<=n;i++)
{
scanf("%ld",&a[i]);
dr+=a[i];
if(a[i] > st)
st = a[i];
}
while(st <= dr)
{
long mij = (st + dr) >> 1;
long nr = 0;
for(i=1;i<=n;)
{
long s = a[i];
for(i++;i<=n && s+a[i] <= mij;i++)
s+=a[i];
nr ++;
}
if(nr <= k)
dr = mij-1;
else
st = mij+1;
}
printf("%ld",st);
return 0;
}