Cod sursa(job #312396)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 5 mai 2009 21:21:43
Problema Transport Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream.h>
int main()
{int cs=0,max=0,i,in,n,k,v[16001];
long v2[1000000];
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*2;
int nc,pos=0;
while(pos==0)
 {s=s/2;
 in=0;
 if(s%2==0)
 nc=v2[s/2];
 else
 nc=v2[s/2+1];
 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)
	for(i=1;i<=s/2;i++)
	 v2[i]=v2[s/2+i];
	if(s==1)
	pos=1;}
if(nd+1<=k)
w<<v2[1];
else
w<<v2[1]+1;
return 0;}