Pagini recente » Cod sursa (job #1187467) | Cod sursa (job #147743) | Cod sursa (job #1650666) | Cod sursa (job #1632968) | Cod sursa (job #956514)
Cod sursa(job #956514)
//TC
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cassert>
#include <cstring>
#include <cstdio>
#include <vector>
#include <queue>
#include <stack>
#include <cmath>
#include <list>
#include <set>
#include <map>
#define forn(a,b,c) for(int (a)=(b);(a)<=(c);(a)++)
#define forr(a,b,c) for(int (a)=(b);(a)>=(c);(a)--)
#define foreach(a,b) for( typeof( (b).begin() ) a=(b).begin(); (a)!=(b).end() ; (a)++ )
#define foreachr(a,b) for( typeof( (b).rbegin() ) a=(b).rbegin(); (a)!=(b).rend() ; (a)++ )
#define dg(x) cerr <<#x<<':'<<x<<" "
#define dbg(x) cerr <<#x<<':'<<x<<endl
#define SET(A,b) memset(A,b,sizeof (A) )
#define SIZE(A) ((int)(A).size())
#define ALL(A) (A).begin(),(A).end()
#define fi first
#define se second
#define pb push_back
#define mp make_pair
#define num(a) (1LL<<(a))
using namespace std;
typedef double dbl;
typedef long long Lint;
typedef pair<int,int> ii;
typedef pair<Lint,Lint> Lii;
const int MAXN = 100010;
int n,na,nb;
int A[MAXN];
int B[MAXN];
int f(int t){
int res=0;
forn(i,1,na){
res+=t/A[i];
}
return res>=n;
}
int main(){
freopen("fabrica.in","r",stdin);
freopen("fabrica.out","w",stdout);
scanf("%d %d %d",&n,&na,&nb);
forn(i,1,na)
scanf(" %d",A+i);
forn(i,1,nb)
scanf(" %d",B+i);
int lo=0,hi=1e9,mi;
while(lo<hi){
mi=(lo+hi)/2;
if( f(mi) )
hi=mi;
else
lo=mi+1;
}
cout << lo << " 31" << endl;
return 0;
}