Pagini recente » Cod sursa (job #282752) | Cod sursa (job #1655451) | Cod sursa (job #143200) | Cod sursa (job #1028579) | Cod sursa (job #1498806)
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
int n, i, cm, c, cM, m, j, s, a, r;
m=16001;
int v[m];
cin>>n>>a;
cM=0;
m=0;
for(i=1; i<=n; i++)
{
cin>>v[i];
cM+=v[i];
if(v[i]>m)
m=v[i];
}
cm=m;
while(cm<=cM)
{
c=(cm+cM)/2;
i=1;
j=0;
while(i<=n)
{
s=0;
while(s+v[i]<=c && i<=n)
{
s+=v[i];
i++;
}
j++;
}
if(j<=a)
{
cM=c-1;
r=c;
}
else
cm=c+1;
}
cout<<r;
return 0;
}