Pagini recente » Cod sursa (job #2664136) | Cod sursa (job #2646805) | Cod sursa (job #3120494) | Cod sursa (job #2397737) | Cod sursa (job #2494367)
#include <bits/stdc++.h>
using namespace std;
ifstream fi("fabrica.in");
ofstream fo("fabrica.out");
const int NMAX=1e5+5;
int n,nra,nrb,rez_a[NMAX],rez_b[NMAX],a[NMAX],b[NMAX],ans;
priority_queue <pair<int,int>> pqa,pqb;
int main()
{
fi>>n>>nra>>nrb;
for(int i=1;i<=nra;i++)
{
fi>>a[i];
pqa.push({-a[i],i});
}
for(int i=1;i<=nrb;i++)
{
fi>>b[i];
pqb.push({-b[i],i});
}
for(int i=1;i<=n;i++)
{
auto p=pqa.top();
pqa.pop();
rez_a[i]=-p.first;
pqa.push({p.first-a[p.second],p.second});
}
for(int i=1;i<=n;i++)
{
auto p=pqb.top();
pqb.pop();
rez_b[i]=-p.first;
pqb.push({p.first-b[p.second],p.second});
}
ans=rez_a[1]+rez_b[n];
for(int i=2;i<=n;i++)
ans=max(ans,rez_a[i]+rez_b[n-i+1]);
fo<<rez_a[n]<<" "<<ans<<"\n";
fi.close();
fo.close();
return 0;
}