Pagini recente » Cod sursa (job #1823617) | Cod sursa (job #168577) | Cod sursa (job #1012525) | Cod sursa (job #2211313) | Cod sursa (job #586036)
Cod sursa(job #586036)
//20
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("fabrica.in");
ofstream out("fabrica.out");
const int N = 50005;
long long lim;
int n, a, b;
int ta[N];
int tb[N];
void Read()
{
in >> n >> a >> b;
for (int i = 1; i <= a; ++i)
{
in >> ta[i];
}
lim = ta[1] * n;
for (int j = 1; j <= b; ++j)
in >> tb[j];
sort(ta+1, ta+a+1);
sort(tb+1, tb+b+1);
}
bool Check(int t)
{
int cn = n;
for (int i = 1; cn > 0 && ta[i] <= t && i <= a; ++i)
cn -= t / ta[i];
return (cn <= 0);
}
int Search()
{
long long i, step;
for (step = 1; step <= lim; step <<= 1);
for (i = lim; step; step >>= 1)
if (i - step > 0 && Check(i - step))
i -= step;
return i;
}
int main()
{
Read();
int sr = Search();
out << sr << " " << sr << "\n";
return 0;
}