Pagini recente » Cod sursa (job #37119) | Cod sursa (job #2652290) | Cod sursa (job #481725) | Cod sursa (job #549468) | Cod sursa (job #2409359)
#include <fstream>
#include <set>
using namespace std;
ifstream fin("fabrica.in");
ofstream fout("fabrica.out");
int n,na,nb,i,x,a[100005],b[100005];
multiset < pair <int, int> > s;
int main()
{
fin >> n >> na >> nb;
for (i=1; i<=na; i++)
{
fin >> x;
s.insert(make_pair(x, x));
}
for (i=1; i<=n; i++)
{
a[i] = s.begin()->first;
int val1 = s.begin()->first+s.begin()->second;
int val2 = s.begin()->second;
s.erase(s.begin());
s.insert(make_pair(val1, val2));
}
s.clear();
for (i=1; i<=nb; i++)
{
fin >> x;
s.insert(make_pair(x, x));
}
for (i=1; i<=n; i++)
{
b[i] = s.begin()->first;
int val1 = s.begin()->first+s.begin()->second;
int val2 = s.begin()->second;
s.erase(s.begin());
s.insert(make_pair(val1, val2));
}
fout << a[n] << " ";
int sol = a[1]+b[n];
for (i=2; i<=n; i++)
sol = max(sol, a[i]+b[n-i+1]);
fout << sol;
return 0;
}