考虑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但是您无需证明它对于所有输入都足够快。