Pagini recente » Cod sursa (job #1455023) | Cod sursa (job #2075695) | Cod sursa (job #2635297) | Cod sursa (job #2698441) | Cod sursa (job #2408420)
#include <fstream>
#include <set>
using namespace std;
ifstream f("fabrica.in");
ofstream g("fabrica.out");
int n,nra, nrb,i,valinit,val, a[100100], b[100100],sol,x;
multiset < pair <int, int > > s;
void solve (int nr, int is, int iF, int A[]){
for(i=1; i<=nr; i++){
f>>x;
s.insert (make_pair(x,x));
}
int k;
if(is<iF) k=1;
else k=-1;
for( i=is; i!=iF+k; i+=k){
A[i]= s.begin() -> first;
valinit=s.begin()->second;
val = A[i] + valinit;
s.erase(s.begin());
s.insert(make_pair(val, valinit));
}
}
int main()
{
f>>n>>nra>>nrb;
solve (nra, 1, n, a);
g<<a[n]<<" ";
while(!s.empty()) s.erase (s.begin());
solve (nrb, n, 1, b);
for(i=1; i<=n;i++) sol=max(sol, a[i]+b[i]);
g<<sol;
return 0;
}