Pagini recente » Cod sursa (job #1477472) | Cod sursa (job #152010) | Cod sursa (job #40045) | Cod sursa (job #879771) | Cod sursa (job #559996)
Cod sursa(job #559996)
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\f0\fs20 #include<stdio.h>\par
FILE*fin,*fout;\par
long int n, k,k1,i,v[20000],min,t,u,p,m,nr,max,s;\par
int main()\{\par
fin=fopen("transport.in","r");\par
fout=fopen("transport.out","w");\par
fscanf(fin,"%ld %ld",&n,&k);\par
for(i=1;i<=n;i++)\{\par
fscanf(fin,"%ld ",&v[i]);\par
k1=k1+v[i];\par
if(v[i]>max)\{max=v[i];\}\par
\par
\par
\}\par
u=max; p=k1;\par
min=16001;\par
\par
while(u<=p)\{\par
\tab m=(u+p)/2; nr=0;\par
\tab for(i=1;i<=n; )\{\par
\tab s=0;\par
\tab while(s+v[i]<=m&&i<=n)\{\par
\tab s+=v[i];i++;\par
\tab \}\par
\tab nr++;\par
\par
\par
\tab\}\par
\par
if(nr>k)\{u=m+1;\}\par
else\{\par
if(nr<=k)\{\par
min=m;p=m-1;\par
\}\par
\}\par
\par
\par
\}\par
fprintf(fout,"%ld",min);\par
return 0;\par
\}\par
}