2013年7月7日 星期日

11242 - Tour de France


Problem D: Tour de France

競速自行車的驅動取決於一條連接兩個齒輪的鏈。齒輪被分別兩個部分,
前齒輪(通常只會 2 或 3 個齒輪) 以及後齒輪 (通常會有 5 到 10 個齒輪)。
//想像一下可換檔腳踏車

在任何時間,鏈條將可以選擇一個前齒輪和一個後齒輪去搭配。而傳動比率 d (輪子與踏板的角速度比率)為 n:m,n 為後齒輪的齒數,m 為前齒輪的齒數。

如果不存在其他傳動比率符合d1<d3<d2,則說兩個傳動比率 d1<d2 相鄰。而希望計算 spread 對於所有兩個 d1<d2spread = d2/d1

你將要計算最大的  spread。

輸入將會有多組測資,最後一行以一個 0 作為程式結束。
每組測資將會包含下列
  • f: 前齒輪的個數
  • r: 後齒輪的個數
  • f 個整數,分別代表每個前齒輪的齒數。
  • r 個整數,分別代表每個後齒輪的齒數。
假設 f, r ≦ 10,且每個齒數不超過 100。

對於每組輸出最大的 spread

Sample Input

2 4
40 50
12 14 16 19
0

Output for Sample Input

1.19

Ondrej Lhotak and Gordon V. Cormack