Pagini recente » Cod sursa (job #2284778) | Cod sursa (job #706473) | Cod sursa (job #2500824) | Cod sursa (job #284335) | Cod sursa (job #2611483)
#include <iostream>
#include <vector>
#include <fstream>
#include <queue>
#define tip_coada pair <int, int>
#define Flash ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;
ifstream in ("fabrica.in");
ofstream out("fabrica.out");
int n, nr1, nr2, x;
priority_queue <tip_coada, vector<tip_coada>, greater<tip_coada> > p;
int main()
{
in>>n>>nr1>>nr2;
for(int i=1; i<=nr1; i++)
{
in>>x;
p.push({x, x});
}
vector <int> a;
for(int i=1; i<=n; i++)
{
auto per1=p.top();
a.emplace_back(per1.first);
p.pop();
p.emplace(per1.first+per1.second, per1.second);
}
while(!p.empty()) p.pop();
out<<a.back()<<" ";
for(int i=1; i<=nr2; i++)
{
in>>x;
p.push({x, x});
}
vector <int> b;
for(int i=1; i<=n; i++)
{
auto per2=p.top();
b.emplace_back(per2.first);
p.pop();
p.emplace(per2.first+per2.second, per2.second);
}
int maxi=0;
for(int i=0; i<n; i++)
maxi=max(maxi, a[i]+b[n-1-i]);
out<<maxi;
return 0;
}