Pagini recente » Cod sursa (job #2496533) | Cod sursa (job #2735582) | Cod sursa (job #257804) | Cod sursa (job #757538) | Cod sursa (job #720763)
Cod sursa(job #720763)
#include <cstdio>
#include <set>
#include <algorithm>
#define NMax 100005
#define t first
#define pt second
using namespace std;
int N, T[2][NMax];
multiset < pair <int, int> > H;
using namespace std;
void ReadPT (int NP)
{
for (int i=1; i<=NP; ++i)
{
int pt;
scanf ("%d", &pt);
H.insert (make_pair (pt, pt));
}
}
void Solve (int Time[])
{
for (int i=1; i<=N; ++i)
{
Time[i]=H.begin ()->t;
H.insert (make_pair (H.begin ()->t+H.begin ()->pt, H.begin ()->pt));
H.erase (H.begin ());
}
H.clear ();
}
int main()
{
freopen ("fabrica.in", "r", stdin);
freopen ("fabrica.out", "w", stdout);
int NP[2], S[2]={0, 0};
scanf ("%d %d %d", &N, &NP[0], &NP[1]);
for (int i=0; i<2; ++i)
{
ReadPT (NP[i]);
Solve (T[i]);
}
S[0]=T[0][N];
for (int i=1; i<=N; ++i)
{
S[1]=max (S[1], T[0][i]+T[1][N-i+1]);
}
printf ("%d %d\n", S[0], S[1]);
return 0;
}