Pagini recente » Cod sursa (job #1818785) | Cod sursa (job #1376733) | Cod sursa (job #3220219) | Cod sursa (job #3288189) | Cod sursa (job #312313)
Cod sursa(job #312313)
#include<fstream.h>
int main()
{int cs=0,max=0,v2[16001],i,in,n,k,v[16001];
ifstream q("transport.in");
ofstream w("transport.out");
q>>n>>k;
int s=0,nd=k+1;
for(i=1;i<=n;i++)
{q>>v[i];
if(max<v[i])
max=v[i];
s=s+v[i];}
i=0;
while(max<=s)
{i++;
v2[i]=max;
cs++;
max++;}
s=cs;
int nc,pos=0;
while(pos==0)
{in=0;
nc=s/2;
nd=0;
for(i=1;i<=n;i++)
if(in+v[i]<=nc)
in=in+v[i];
else
{nd++;
in=0;
i--;}
if(nd<=k)
s=s/2;
else
{for(i=1;i<=s/2;i++)
v2[i]=v2[s/2+i];
s=s/2;}
if(s==1)
pos=0;}
w<<v2[1];
return 0;}