Pagini recente » Cod sursa (job #822363) | Cod sursa (job #2705272) | Cod sursa (job #314408)
Cod sursa(job #314408)
#include<fstream.h>
int main()
{int nd,i,dif,inc,nc,n,k,v[16001],lim1,lim2;
ifstream q("transport.in");
ofstream w("transport.out");
q>>n>>k;
lim1=0;
lim2=lim1;
for(i=1;i<=n;i++)
{q>>v[i];
if(v[i]>lim1)
lim1=v[i];
lim2=lim2+v[i];}
while(lim1!=lim2&&lim1+1!=lim2)
{dif=lim2-lim1+1;
nc=lim1+dif/2;
nd=0;
for(i=1;i<=n;i)
{inc=0;
while(inc+v[i]<nc)
{inc=inc+v[i];
i++;
if(i==n+1)
inc=nc+1;}
nd++;}
if(nd>k)
lim1=lim1+dif/2;
else
lim2=lim2-dif/2+1;}
w<<lim1;
return 0;}