Pagini recente » Cod sursa (job #2754254) | Cod sursa (job #2588851) | Cod sursa (job #3174931) | Cod sursa (job #1453435) | Cod sursa (job #2408792)
#include <fstream>
#include <set>
using namespace std;
multiset< pair<int, int> > S;
int n, na, nb, i, poz, val;
int a[100010], b[100010];
int v[50010];
ifstream fin ("fabrica.in");
ofstream fout("fabrica.out");
int main () {
fin>>n>>na>>nb;
for (i=1;i<=na;i++) {
fin>>v[i];
S.insert( make_pair(v[i], i) );
}
for (i=1;i<=n;i++) {
a[i] = S.begin()->first;
poz = S.begin()->second;
val = S.begin()->first + v[poz];
S.erase(S.begin());
S.insert( make_pair(val, poz) );
}
while (!S.empty())
S.erase(S.begin());
for (i=1;i<=nb;i++) {
fin>>v[i];
S.insert( make_pair(v[i], i) );
}
for (i=n;i>=1;i--) {
b[i] = S.begin()->first;
poz = S.begin()->second;
val = S.begin()->first + v[poz];
S.erase(S.begin());
S.insert( make_pair(val, poz) );
}
fout<<a[n]<<" ";
int sol = a[1]+b[1];
for (i=2;i<=n;i++)
sol = max(sol, a[i]+b[i]);
fout<<sol<<"\n";
return 0;
}