Cod sursa(job #2611474)

Utilizator stefan.popescuPopescu Stefan stefan.popescu Data 6 mai 2020 22:26:42
Problema Fabrica Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <iostream>
#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;
int x, maxi1=0, maxi2=0;
priority_queue <tip_coada, vector<tip_coada>, greater<tip_coada> > p1;
priority_queue <tip_coada, vector<tip_coada>, greater<tip_coada> > p2;
int main()
{
    in>>n>>nr1>>nr2;
    for(int i=1; i<=nr1; i++)
    {
        in>>x;
        p1.push({x, x});
    }
    for(int i=1; i<=nr2; i++)
    {
        in>>x;
        p2.push({x, x});
    }
    for(int i=1; i<=n; i++)
    {
        auto per1=p1.top();
        p1.pop();
        p1.push({per1.first+per1.second, per1.second});
        maxi1=max(maxi1, per1.first);

        auto per2=p2.top();
        //cout<<per2.second<<" ";
        p2.pop();
        int tfin=max(per1.first, per2.first-per2.second);
        p2.push({tfin+per2.second, per2.second});

        maxi2=max(maxi2, tfin+per2.second);
    }
    out<<maxi1<<" "<<maxi2;
    return 0;
}