Pagini recente » Cod sursa (job #1153590) | Cod sursa (job #503545) | Cod sursa (job #1321534) | Cod sursa (job #109818) | Cod sursa (job #2402213)
#include <iostream>
#include <fstream>
#include <set>
#define Nmax 100001
using namespace std;
ifstream in("fabrica.in");
ofstream out("fabrica.out");
int v1[Nmax], v2[Nmax];
int fpart11[Nmax], fpart12[Nmax];
int na, nb, np;
multiset < pair < int, int > > st1;
void read()
{
in>>np>>na>>nb;
int i;
for(i=1; i<=na; ++i)
in>>v1[i];
for(i=1; i<=nb; ++i)
in>>v2[i];
in.close();
}
void solve(int v[],int a[],int n)
{
int i;
for(i=1; i<=n; ++i)
st1.insert(make_pair(a[i],a[i]));
for(i=1; i<=np; ++i)
{
v[i] = st1.begin()->first;
st1.insert(make_pair(st1.begin()->first+st1.begin()->second, st1.begin()->second));
st1.erase(st1.begin());
}
st1.erase(st1.begin(),st1.end());
}
int main()
{
read();
solve(fpart11,v1,na);
solve(fpart12,v2,nb);
int i;
int maxim = 0;
for(i=1; i<=np; ++i)
maxim = max(maxim, fpart11[i] + fpart12[np-i+1]);
out << fpart11[np] << " " << maxim << "\n";
in.close();
out.close();
return 0;
}