Pagini recente » Cod sursa (job #572639) | Cod sursa (job #662082) | Cod sursa (job #2628771) | Cod sursa (job #598383) | Cod sursa (job #2604681)
#include <fstream>
#include <queue>
using namespace std;
ifstream cin("fabrica.in");
ofstream cout("fabrica.out");
priority_queue<pair <int,int>,vector<pair<int,int>>,greater<pair < int,int>>> q;
pair<int,int>x;
int n,na,nb,t[100005],ans,rasp[100005],costa[50005],costb[50005];
int main()
{
cin>>n>>na>>nb;
for(int i=1;i<=na;i++){
cin>>costa[i];
q.push({costa[i],i});
}
for(int i=1;i<=n;i++){
x=q.top();
q.pop();
t[i]=x.first;
q.push({x.first+costa[x.second],x.second});
}
while(!q.empty()){
q.pop();
}
cout<<t[n]<<" ";
for(int i=1;i<=nb;i++){
cin>>costb[i];
q.push({costb[i],i});
}
for(int i=1;i<=n;i++){
x=q.top();
q.pop();
rasp[i]=t[n-i+1]+x.first;
q.push({x.first+costb[x.second],x.second});
ans=max(ans,rasp[i]);
}
cout<<ans;
return 0;
}