細胞分裂(NOIP2009 普及組第三題)
描述
Hanks 博士是BT (Bio-Tech,生物技術) 領域的知名專家。現在,他正在為一個細胞實驗做準備工作:培養細胞樣本。
Hanks 博士手裏現在有N 種細胞,編號從1~N,一個第i 種細胞經過1 秒鐘可以分裂為Si 個同種細胞(Si 為正整數)。現在他需要選取某種細胞的一個放進培養皿,讓其自由分裂,進行培養。一段時間以後,再把培養皿中的所有細胞平均分入M 個試管,形成M 份樣本,用於實驗。Hanks 博士的試管數M 很大,普通的計算機的基本數據類型無法存儲這樣大的M 值,但萬幸的是,M 總可以表示為m1 的m2 次方,即M =m1m2 ,其中m1,m2 均為基本數據類型可以存儲的正整數。
註意,整個實驗過程中不允許分割單個細胞,比如某個時刻若培養皿中有4 個細胞,Hanks 博士可以把它們分入2 個試管,每試管內2個,然後開始實驗。但如果培養皿中有5個細胞,博士就無法將它們均分入2個試管。此時,博士就只能等待一段時間,讓細胞們繼續分裂,使得其個數可以均分,或是幹脆改換另一種細胞培養。
為了能讓實驗盡早開始,Hanks 博士在選定一種細胞開始培養後,總是在得到的細胞“剛好可以平均分入M 個試管”時停止細胞培養並開始實驗。現在博士希望知道,選擇哪種細胞培養,可以使得實驗的開始時間最早。
格式
輸入格式
共有三行。
第一行有一個正整數 N(1 ≤N≤ 10000),代表細胞種數。
第二行有兩個正整數 m1,m2(1 ≤m1 ≤ 30000,1 ≤m2 ≤ 10000),以一個空格隔開, m1m2即表示試管的總數M。
第三行有 N 個正整數,第i 個數Si(1 ≤ Si ≤ 2,000,000,000) 表示第i 種細胞經過1 秒鐘可以分裂成同種細胞的個數。
輸出格式
共一行,為一個整數,表示從開始培養細胞到實驗能夠開始所經過的最少時間(單位為秒)。
如果無論 Hanks 博士選擇哪種細胞都不能滿足要求,則輸出整數-1。
樣例1
樣例輸入1
1
2 1
3
樣例輸出1
-1
樣例2
樣例輸入2
2 24 1 30 12
樣例輸出2
2
限制
每個測試點1s。
提示
樣例1說明:
經過1秒鐘,細胞分裂成3個,經過2 秒鐘,細胞分裂成9個,??,可以看出無論怎麽分裂,細胞的個數都是奇數,因此永遠不能分入2 個試管。
樣例2說明:
第 1 種細胞最早在3 秒後才能均分入24 個試管,而第2 種最早在2 秒後就可 以均分(每試管144/(24^1 )=6 個)。故實驗最早可以在2 秒後開始。
細胞分裂(NOIP2009 普及組第三題)