Pagini recente » Cod sursa (job #2793070) | Cod sursa (job #1153118) | Cod sursa (job #1396938) | Cod sursa (job #757359) | Cod sursa (job #2649707)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("fabrica.in");
ofstream g ("fabrica.out");
typedef pair <int, int> PII;
int N, Nr_A, Nr_B;
vector <int> Solve (vector <int> A) {
priority_queue <PII, vector<PII>, greater<PII> > H;
vector <int> ans;
for (auto &it : A) {
H.push({it, it});
}
for (int i = 0; i < N; ++ i ) {
ans.push_back(H.top().first);
PII ad = {H.top().first + H.top().second, H.top().second};
H.pop();
H.push(ad);
}
return ans;
}
int main()
{
f >> N >> Nr_A >> Nr_B;
vector <int> A(Nr_A);
for (int i = 0; i < Nr_A; ++ i )
f >> A[i];
vector <int> ans_A = Solve(A);
vector <int> B(Nr_B);
for (int i = 0; i < Nr_B; ++ i )
f >> B[i];
vector <int> ans_B = Solve(B);
int sol = 0;
for (int i = 0; i < N; ++ i ) {
sol = max(sol, ans_A[i] + ans_B[N-i-1]);
}
g << ans_A[N-1] << " " << sol << '\n';
return 0;
}