Pagini recente » Cod sursa (job #1901726) | Cod sursa (job #3139367) | Cod sursa (job #2379112) | Cod sursa (job #668426) | 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;
}