Cod sursa(job #2611483)

Utilizator stefan.popescuPopescu Stefan stefan.popescu Data 6 mai 2020 22:48:02
Problema Fabrica Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <iostream>
#include <vector>
#include <fstream>
#include <queue>
#define tip_coada pair <int, int>
#define Flash ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;
ifstream in ("fabrica.in");
ofstream out("fabrica.out");
int n, nr1, nr2, x;
priority_queue <tip_coada, vector<tip_coada>, greater<tip_coada> > p;
int main()
{
    in>>n>>nr1>>nr2;
    for(int i=1; i<=nr1; i++)
    {
        in>>x;
        p.push({x, x});
    }
    vector <int> a;
    for(int i=1; i<=n; i++)
    {
        auto per1=p.top();
        a.emplace_back(per1.first);
        p.pop();
        p.emplace(per1.first+per1.second, per1.second);
    }
    while(!p.empty()) p.pop();
    out<<a.back()<<" ";
    for(int i=1; i<=nr2; i++)
    {
        in>>x;
        p.push({x, x});
    }
    vector <int> b;
    for(int i=1; i<=n; i++)
    {
        auto per2=p.top();
        b.emplace_back(per2.first);
        p.pop();
        p.emplace(per2.first+per2.second, per2.second);
    }
    int maxi=0;
    for(int i=0; i<n; i++)
        maxi=max(maxi, a[i]+b[n-1-i]);
    out<<maxi;
    return 0;
}