金銀島

描述
某天KID利用飛行器飛到了一個金銀島上,上面有許多珍貴的金屬,KID雖然更喜歡各種寶石的藝術品,可是也不拒絕這樣珍貴的金屬。但是他只帶着一個口袋,口袋至多隻能裝重量爲w的物品。島上金屬有s個種類, 每種金屬重量不同,分別爲n1, n2, ... , ns,同時每個種類的金屬總的價值也不同,分別爲v1,v2, ..., vs。KID想一次帶走價值儘可能多的金屬,問他最多能帶走價值多少的金屬。注意到金屬是可以被任意分割的,並且金屬的價值和其重量成正比。
輸入
第1行是測試數據的組數k,後面跟着k組輸入。

每組測試數據佔3行,第1行是一個正整數w (1 <= w <= 10000),表示口袋承重上限。第2行是一個正整數s (1 <= s <=100),表示金屬種類。第3行有2s個正整數,分別爲n1, v1, n2, v2, ... , ns, vs分別爲第一種,第二種,...,第s種金屬的總重量和總價值(1 <= ni <= 10000, 1 <= vi <= 10000)。

輸出
k行,每行輸出對應一個輸入。輸出應精確到小數點後2位。
樣例輸入
2
50
4
10 100 50 30 7 34 87 100
10000
5
1 43 43 323 35 45 43 54 87 43
樣例輸出
171.93
508.00


發佈了45 篇原創文章 · 獲贊 5 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章