Pagini recente » Cod sursa (job #968385) | Cod sursa (job #827297) | Cod sursa (job #2290654) | Cod sursa (job #537791) | Cod sursa (job #997847)
Cod sursa(job #997847)
#include<fstream>
#include<queue>
#define N 100010
using namespace std;
ifstream f("fabrica.in");
ofstream g("fabrica.out");
int n,nra,nrb,i,x,max1,max2,sol1[N],sol2[N];
priority_queue<pair<int,int>,vector<pair<int,int> >,greater<pair<int,int> > >h;
int main()
{
f>>n>>nra>>nrb;
for(i=1;i<=nra;++i)
{
f>>x;
h.push(make_pair(x,x));
}
for(i=1;i<=n;++i)
{
sol1[i]=h.top().first;
h.push(make_pair(h.top().first+h.top().second,h.top().second));
h.pop();
}
while(!h.empty())
{
h.pop();
}
for(i=1;i<=nrb;++i)
{
f>>x;
h.push(make_pair(x,x));
}
for(i=1;i<=n;++i)
{
sol2[i]=h.top().first;
h.push(make_pair(h.top().first+h.top().second,h.top().second));
h.pop();
}
for(i=1;i<=n;++i)
{
max1=max(max1,sol1[i]);
max2=max(max2,sol1[i]+sol2[n-i+1]);
}
g<<max1<<' '<<max2<<'\n';
return 0;
}