Pagini recente » Cod sursa (job #2814041) | Cod sursa (job #2908350) | Cod sursa (job #1110626) | Cod sursa (job #1837988) | Cod sursa (job #2869496)
#include <fstream>
#include <algorithm>
#include <queue>
using namespace std;
ifstream fin("fabrica.in");
ofstream fout("fabrica.out");
priority_queue<pair<int, int>> q;
const int Nmax=100000;
int tA[Nmax+5],tB[Nmax+5];
int main()
{
int n,nra,nrb,i,x,maxi=0;
pair<int, int> p;
fin>>n>>nra>>nrb;
for(i=1;i<=nra;i++)
{
fin>>x;
p={-x,x};
q.push(p);
}
for(i=1;i<=n;i++)
{
p=q.top();
q.pop();
p={-p.first,p.second};
tA[i]=p.first;
p.first=p.first+p.second;
p={-p.first,p.second};
q.push(p);
}
fout<<tA[n]<<" ";
while(!q.empty())
{
q.pop();
}
for(i=1;i<=nrb;i++)
{
fin>>x;
p={-x,x};
q.push(p);
}
for(i=1;i<=n;i++)
{
p=q.top();
q.pop();
p={-p.first,p.second};
tB[i]=p.first;
p.first=p.first+p.second;
p={-p.first,p.second};
q.push(p);
}
for(i=1;i<=n;i++)
{
maxi=max(maxi, tA[i]+tB[n-i+1]);
}
fout<<maxi;
return 0;
}