Cod sursa(job #752406)

Utilizator oprea1si2si3Oprea Sebastian oprea1si2si3 Data 28 mai 2012 16:24:33
Problema Transport Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<fstream>
using namespace std;
int v[100005],t,k,i,vol,m,c,n,s,d,x;
int main ()
{
	ifstream in("transport.in");
	ofstream out("transport.out");
	in>>n>>k;
	for(i=1;i<=n;i++)
	{
		in>>v[i];
		if(v[i]>s)
			s=v[i];
		d=d+v[i];
	}
	x=s;
	while(s<=d)
	{
		m=(s+d)/2;
		t=1; vol=0;
		for(i=1;i<=n;i++)
		{
			if(v[i]+vol>m)
			{
				t++;
				vol=v[i];
			}
			else
				vol=vol+v[i];
		}
		if(t<=k)
		{
			c=m;
			d=m-1;
		}
		else
			s=m+1;
	}

	out<<c<<endl;
	return 0;
	
}