b573: 換錢黨 (exchange)
Tags : 2026 MOI MOI-J
Accepted rate : 0人/0人 (0%) [非即時]
評分方式:
Tolerant

最近更新 : 2026-03-17 11:17

Content

有⼀個特殊的換錢黨,他們並不是對換貨幣,⽽是把⼀定⾯額的銀卷換成碎銀 (零碎的錢幣)。


該地區有 $N$ 種不同⾯額的碎銀。你是換錢黨的成員之⼀,你想知道對於⼀個給定的銀卷⾯額,共有多少種⽅法可以⽤碎銀組成所指定的⾯額,同時使⽤碎銀數⽬最少的⼀種需要的碎銀總數⽬⼜是多少?

Input

輸⼊資料的第⼀⾏上有⼀個正整數 $T$ 代表測試數據的數⽬。隨後有 $N$ 組數據,每組數據的格式如下:


- 第⼀⾏上有若⼲有整數: 第⼀個整數 $N$ 代表該地區有多少種不同⾯值的碎銀,同⼀⾏隨後有$N$ 個不同的整數,分別代表不同碎銀的⾯值。$1\le N \le 20$,碎銀的⾯值均⼩於或等於 $95%
- 第⼆⾏上亦有若⼲個整數: 第⼀個整數 $Q$ 代表有多少張銀卷需要對換,同⼀⾏隨後有 $Q$ 個不同的整數,分別代表不同要對換的銀卷的⾯值。銀卷的⾯值均少於或等於 1,500

Output

輸出應含有 $T$ 組相對應的資料,每組輸出資料的格式如下:
- 輸出含有 $Q$ (對應於該組輸⼊的 $Q$ ⽽⾔) ⾏,對應於輸⼊的 $Q$ 張銀卷, 每⾏上有⼀對正整數 $P$ 和 $M$
- $P$ 代表可以對換該銀卷的不同⽅法數⽬
- $M$ 代表若以最少碎銀數⽬進⾏對換時,所需的最少碎銀數⽬為多少。
- 若⼀張銀卷的⾯額是沒有可能⽤任何碎銀組成, 則輸出 0 0 在對應的位置。
這裏我們假設每種碎銀我們都在無限個。

Sample Input #1
2
3 5 7 13
4 8 90 20 65
2 1 2
3 19 2 5
Sample Output #1
0 0
12 8
2 2
7 5
10 10
2 1
3 3
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (9%): 0.8s , <1K
公開 測資點#1 (9%): 0.8s , <1K
公開 測資點#2 (9%): 0.8s , <1K
公開 測資點#3 (9%): 0.8s , <1K
公開 測資點#4 (9%): 0.8s , <1M
公開 測資點#5 (9%): 0.8s , <1M
公開 測資點#6 (9%): 0.8s , <1M
公開 測資點#7 (9%): 0.8s , <1M
公開 測資點#8 (9%): 0.8s , <1M
公開 測資點#9 (9%): 0.8s , <1M
公開 測資點#10 (10%): 0.8s , <1K
Hint :

對於輸入的第二組數據,我們有面值為 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

Tags:
2026 MOI MOI-J
出處:
MOI-2026MOI-J 2026 [管理者:
kulam@g.puic... (林建源)
]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」