Cod sursa(job #752770)

Utilizator Mircea2002Ceobanu Mircea Mircea2002 Data 29 mai 2012 14:47:28
Problema Transport Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<fstream>
using namespace std;
long ii,c,dif,t,cnt,nrt,nrtm,i,x,n,k,s[16000];
int main()
{	ifstream f("transport.in");
	ofstream g("transport.out");
	f>>n>>k;
	for(i=1;i<=n;i++)
	{
		f>>s[i];
		nrtm=nrtm+s[i];
		if(s[i]>nrt)
			nrt=s[i];
	}
	while(nrt!=nrtm && nrt+1!=nrtm)
	{
		dif=nrtm-nrt+1;
		t=nrt+dif/2;
		cnt=0;
		i=1;
		while(i<=n)
		{
			ii=0;
			while(ii+s[i]<t)
			{
				ii=ii+s[i];
				i++;
				if(i==n+1)
					ii=t+1;
			}
			cnt++;
		}
		if(cnt>k)
			nrt=t;
		else
			nrtm=t;
	}
	g<<nrt;
	return 0;
}