Cod sursa(job #1027543)

Utilizator stanescu.raduRadu Stanescu stanescu.radu Data 12 noiembrie 2013 20:45:18
Problema Transport Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<fstream>

using namespace std;

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

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

int cautbinar(int v[], int st, int dr, int 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();
}