#P3010. [USACO11JAN] Dividing the Gold S
[USACO11JAN] Dividing the Gold S
Description
Bessie 和 Canmuu 找到了一袋 枚金币,他们希望尽可能均匀地分配这些金币。第 枚金币的价值为 。奶牛们希望尽可能均匀地分割这堆金币,但这并不总是可能的。两个堆之间的最小价值差是多少?
此外,Bessie 和 Canmuu 发现可能有多种方法以该最小差异分割金币。他们还想知道以最公平方式分割金币的方法数。如果无法均匀分割,Bessie 将得到价值较高的一堆。
例如,考虑一袋五枚金币,价值分别为: 和 。Bessie 和 Canmuu 将金币分成两堆,一堆有一枚价值为 16 的金币,另一堆有剩下的金币,价值为 。因此,差异为 。这是他们以这种方式分割金币的唯一方法,所以均匀分割的方法数只有 。
注意,相同价值的金币可以在堆之间交换,以增加执行最佳分割的方法数。因此,硬币集合 有六种不同的方法分割成两个最佳分区,每个分区有两枚硬币。
Input Format
第 1 行:一个整数:。
第 2 行到第 行:第 行包含一个整数:。
Output Format
第 1 行:一个整数,表示两个分区的最小差异。
第 2 行:一个整数,表示以第 1 行打印的最小差异分割金币的方法数。由于这个数可能会非常大,输出时请对 取余。
5
2
1
8
4
16
1
1
Hint
(由 ChatGPT 4o 翻译)
京公网安备 11011102002149号