Cod sursa(job #775214)

Utilizator avramavram andrei marius avram Data 7 august 2012 15:47:00
Problema Transport Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include<fstream>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int i,j,v[200000],n,p,k,s,u,os,l,m,nr;
int main()
{
	f>>n>>nr;
	for(i=1;i<=n;i++)
	{
		f>>v[i];
		if(v[i]>p)
			p=v[i];
		u=u+v[i];
	}
	while(p<=u)
	{
		m=(p+u)/2;
		k=1;l=0;
		for(i=1;i<=n;i++)
		{
			l=l+v[i];
			if(l>m)
			{
				k++;
				l=v[i];
			}
			if(k>nr)
			{
				p=m+1;
				break;
			}
		}
		if(k<=nr)
		{
			u=m-1;
			os=m;
		}
	}
	g<<os;
	return 0;
}