Pagini recente » Cod sursa (job #2859341) | Cod sursa (job #283196) | Cod sursa (job #293470) | Cod sursa (job #753157) | Cod sursa (job #1358411)
# include <fstream>
using namespace std;
# define DIM 16001
ifstream in("transport.in");
ofstream out("transport.out");
int x[DIM];
int main()
{
int n,m,i,p,u,mij,k,maxi=0,s=0,nr;
in>>n>>k;
for (i=1;i<=n;i++)
{
in>>x[i];
if (x[i]>maxi) maxi=x[i];
s+=x[i];
}
p=maxi;
u=s;
while (p<=u)
{
mij=(p+u)/2;
m=0;
nr=0;
for (i=1;i<=n;i++)
{
m+=x[i];
if (m>mij)
{
nr++;
m=x[i];
}
}
if (nr<=k) u=mij-1;
else p=mij+1;
}
out<<p;
return 0;
}