Cod sursa(job #730385)

Utilizator MichelJumatate Teodor-Mihail Michel Data 6 aprilie 2012 11:23:33
Problema Transport Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<fstream>
using namespace std;
int v[500],t,k,i,vol,m,c,n,s,d;
int main ()
{
	ifstream fin("transport.in");
	fin>>n>>k;
	for(i=0;i<n;i++)
	{
		fin>>v[i];
		if(v[i]>s)
			s=v[i];
		d=d+v[i];
	}
	while(s<=d)
	{
		m=(s+d)/2;
		t=1; vol=0;
		for(i=0;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;
	}
	ofstream fout("transport.out");
	fout<<c;
	return 0;
	
}