有⼀個特殊的換錢黨,他們並不是對換貨幣,⽽是把⼀定⾯額的銀卷換成碎銀 (零碎的錢幣)。
該地區有 $N$ 種不同⾯額的碎銀。你是換錢黨的成員之⼀,你想知道對於⼀個給定的銀卷⾯額,共有多少種⽅法可以⽤碎銀組成所指定的⾯額,同時使⽤碎銀數⽬最少的⼀種需要的碎銀總數⽬⼜是多少?
輸⼊資料的第⼀⾏上有⼀個正整數 $T$ 代表測試數據的數⽬。隨後有 $N$ 組數據,每組數據的格式如下:
- 第⼀⾏上有若⼲有整數: 第⼀個整數 $N$ 代表該地區有多少種不同⾯值的碎銀,同⼀⾏隨後有$N$ 個不同的整數,分別代表不同碎銀的⾯值。$1\le N \le 20$,碎銀的⾯值均⼩於或等於 $95%
- 第⼆⾏上亦有若⼲個整數: 第⼀個整數 $Q$ 代表有多少張銀卷需要對換,同⼀⾏隨後有 $Q$ 個不同的整數,分別代表不同要對換的銀卷的⾯值。銀卷的⾯值均少於或等於 1,500
輸出應含有 $T$ 組相對應的資料,每組輸出資料的格式如下:
- 輸出含有 $Q$ (對應於該組輸⼊的 $Q$ ⽽⾔) ⾏,對應於輸⼊的 $Q$ 張銀卷, 每⾏上有⼀對正整數 $P$ 和 $M$
- $P$ 代表可以對換該銀卷的不同⽅法數⽬
- $M$ 代表若以最少碎銀數⽬進⾏對換時,所需的最少碎銀數⽬為多少。
- 若⼀張銀卷的⾯額是沒有可能⽤任何碎銀組成, 則輸出 0 0 在對應的位置。
這裏我們假設每種碎銀我們都在無限個。
2 3 5 7 13 4 8 90 20 65 2 1 2 3 19 2 5
0 0 12 8 2 2 7 5 10 10 2 1 3 3
對於輸入的第二組數據,我們有面值為 1 及 2 的兩種碎銀,若對換面值為 19 的銀卷時,共 10 種方法:
( 1 x 19 ), (1 x 17 + 2), ... , ( 1 + 2 x 9 )。而需要碎銀最少的是 ( 1 + 2 x 9 ) 這個組合,共需用碎銀 10 個。
上面輸出中,面額為 8 的銀卷是沒有可能用任何碎銀組合而成,因而輸出 0 0
特殊條件
有最少一個測試數據內的每一組碎銀的面值之間互成
每個測試數據中,要對換的銀卷編數少於 100,000
對於每一組測試數據,P <= 2^31 - 1
| ID | User | Problem | Subject | Hit | Post Date |
沒有發現任何「解題報告」 |
|||||