Pagini recente » Cod sursa (job #2273194) | Cod sursa (job #266094) | Cod sursa (job #2783073) | Cod sursa (job #1455103) | Cod sursa (job #2401922)
#include <bits/stdc++.h>
#define DEF 100010
using namespace std;
ifstream fin ("fabrica.in");
ofstream fout ("fabrica.out");
int n, nrA, nrB, masA[DEF], masB[DEF], finishA, finishB, globalTime, readyforB, DpA[DEF], DpB[DEF];
priority_queue < pair < int, int >, vector < pair < int, int > >, greater < pair < int, int > > > HA, HB, HBfree;
int main () {
fin >> n >> nrA >> nrB;
for (int i = 1; i <= nrA; ++ i) {
fin >> masA[i];
HA.push ({masA[i], i});
}
for (int j = 1; j <= nrB; ++ j) {
fin >> masB[j];
HB.push ({masB[j], j});
}
for (int i = 1; i <= n; ++ i) {
auto top = HA.top ();
HA.pop ();
++ finishA; ++ readyforB;
globalTime = top.first;
HA.push ({masA[top.second] + globalTime, top.second});
DpA[i] = globalTime;
}
fout << globalTime << " ";
for (int i = 1; i <= n; ++ i) {
auto top = HB.top ();
HB.pop ();
++ finishB;
globalTime = top.first;
HB.push ({masB[top.second] + globalTime, top.second});
DpB[i] = globalTime;
}
int maxim = - 1;
for (int i = 1; i <= n; ++ i) {
maxim = max (maxim, DpA[i] + DpB[n - i + 1]);
}
fout << maxim;
return 0;
}