考虑A
长度数组n
。该数组仅包含正整数。例如A = (1,1,2,2)
。让我们将定义f(A)
为的所有非空连续子数组之和的集合A
。在这种情况下f(A) = {1,2,3,4,5,6}
。产生步骤f(A)
如下:
的子阵列A
是(1), (1), (2), (2), (1,1), (1,2), (2,2), (1,1,2), (1,2,2), (1,1,2,2)
。它们各自的总和为1,1,2,2,2,3,4,4,5,6
。因此,您从此列表中获得的集合是{1,2,3,4,5,6}
。
任务
给定一组S
以排序顺序给出的和,仅包含正整数和一个数组长度n
,您的工作是输出至少一个X
这样的数组f(X) = S
。
例如,如果S = {1,2,3,5,6}
and,n = 3
则有效输出为X = (1,2,3)
。
如果没有这样的数组,X
您的代码应输出任何常量值。
例子
输入:n=4, S = (1, 3, 4, 5, 6, 8, 9, 10, 13)
,可能的输出:X = (3, 5, 1, 4)
输入:n=6, S = (2, 3, 4, 5, 7, 8, 9, 10, 12, 14, 17, 22)
,可能的输出:X = (5, 3, 2, 2, 5, 5)
输入:n=6, S = (2, 4, 6, 8, 10, 12, 16)
,可能的输出:X = (4, 2, 2, 2, 2, 4)
输入:n=6, S = (1, 2, 3, 4, 6, 7, 8, 10, 14)
,可能的输出:X = (4, 2, 1, 1, 2, 4)
输入:n=10, S = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 23, 24, 25)
,可能的输出:X = (1, 1, 3, 1, 2, 1, 2, 5, 4, 5)
。
输入:n=15, S = (1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31)
,可能的输出:X = (1, 2, 1, 3, 3, 1, 3, 3, 1, 3, 3, 1, 2, 1, 3)
。
输入输出格式
您的代码可以接受输入,并以您认为方便的任何易于阅读的格式提供输出。但是,请在问题的示例中显示对其进行测试的输出。
运行时间
您必须能够对问题中的所有示例运行代码以完成操作。原则上,它n
最多可以正确使用,15
但是您无需证明它对于所有输入都足够快。