Pagini recente » Cod sursa (job #371142) | Cod sursa (job #1482795) | Cod sursa (job #491076) | Cod sursa (job #678253) | Cod sursa (job #586521)
Cod sursa(job #586521)
#include<cstdio>
#include<queue>
#include<algorithm>
using namespace std;
priority_queue< pair<int, int> > pa, pb; //incearca si cu schimbarea ordonarii
int nrdoze, nra, nrb;
int main() {
int i, ax, tdozai, _maxtdozai = -1, _max = - 1;
freopen("fabrica.in", "rt", stdin);
freopen("fabrica.out", "wt", stdout);
scanf("%d%d%d", &nrdoze, &nra, &nrb);
for(i = 1; i <= nra; ++i) {
scanf("%d", &ax);
pa.push( make_pair(0, ax) );
}
for(i = 1; i <= nrb; ++i) {
scanf("%d", &ax);
pb.push( make_pair(0, ax) );
}
for(i = 1; i <= nrdoze; ++i) {
tdozai = pa.top() . first + pa.top() . second;
ax = pa.top() . second;
pa.pop();
pa.push( make_pair(tdozai, ax) );
if( tdozai > _max )
_max = tdozai;
tdozai = max(tdozai, pb.top() . first);
ax = pb.top() . second;
tdozai += ax;
pb.pop();
pb.push( make_pair(tdozai, ax) );
if( tdozai > _maxtdozai)
_maxtdozai = tdozai;
}
printf("%d%d\n", _max, _maxtdozai);
return 0;
}