Cod sursa(job #1070935)

Utilizator stanescu.raduRadu Stanescu stanescu.radu Data 2 ianuarie 2014 12:37:42
Problema Transport Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<fstream>

using namespace std;

ifstream f ("transport.in");
ofstream g("transport.out");

long long n,k,v[16005],s,i;

long long cautbinar(long long v[], long long st, long long dr, long long k)
{
	int m;
	while (st<dr)
	{
		int s=0,t=1;
		m=(st+dr)/2;
		for (i=1;i<=n;i++)
		{
			if (s+v[i]<=m) s+=v[i];
			else 
			{
				t++;
				s=v[i];
			}
		}
		if (t>k)	st=m+1;
		else	dr=m;
	}
	return st;
}

int main ()
{
	f>>n>>k;
	s=0;
	for (i=1;i<=n;i++)
	{
		f>>v[i];
		s+=v[i];
	}
	g<<cautbinar(v,1,s,k);
	f.close();
	g.close();
}