Cod sursa(job #2604681)

Utilizator mariamirabella2Bucur-Sabau Maria-Mirabela mariamirabella2 Data 23 aprilie 2020 11:31:50
Problema Fabrica Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#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;
}