Cod sursa(job #587807)

Utilizator loginLogin Iustin Anca login Data 5 mai 2011 22:08:45
Problema Fabrica Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
# include <fstream>
# include <iostream>
# include <algorithm>
# include <set>
# define DIM 50003
# define mp make_pair
# define fs first
# define sc second
using namespace std;
int n, na, nb, a[DIM], b[DIM], r2, v[2*DIM], w[2*DIM];
multiset< pair <int,int> >S;

void solve (int v[], int a[], int na)
{
	for(int i=1;i<=na;++i)
		S.insert(mp(a[i],a[i]));
	for(int i=1;i<=n;++i)
	{
		v[i]=S.begin()->fs;
		S.insert(mp(S.begin()->fs+S.begin()->sc,S.begin()->sc));
		S.erase(S.begin());
	}
	S.erase(S.begin(),S.end());
}

int main ()
{
	ifstream fin ("fabrica.in");
	ofstream fout ("fabrica.out");
	fin>>n>>na>>nb;
	for(int i=1;i<=na;++i)fin>>a[i];
	for(int i=1;i<=nb;++i)fin>>b[i];
	solve (w, b, nb);
	solve (v, a, na);
	for(int i=1;i<=n;++i)
		r2=max(r2,v[i]+w[n-i+1]);
	fout<<v[n]<<" "<<r2;
	return 0;
}