{"trustable":false,"sections":[{"title":"Introduction","value":{"format":"MD","content":"你得把一根木棍砍成几段。根据被切割的木棍的长度收费。他们的工作程序要求他们一次只切一刀。\n\n很容易注意到,在切割顺序上的不同选择可能导致不同的价格。例如,考虑一根长度为10米的棍子,2米、4米和7米处可以被切割。\n\n\n\n有几种选择。我们可以先从2点开始切割,然后是4点,然后是7点。这导致了10 + 8 + 6 \u003d 24的价格,因为第一根棍子的长度是10米,结果是8,最后一根是6。\n\n\n\n另一个顺序是4,2,7 。这将导致10 + 4 + 6 \u003d 20,这是一个更好的价格。\n\n你的老板信任你的计算机能力,相信你能找出切一根给定的棍子所需的最低成本。"}},{"title":"Input","value":{"format":"MD","content":"输入多组数据。每个测试用例的第一行将包含一个正数l,它表示要切割的木棍的长度。l \u003c 1000。下一行将包含n (n \u003c 50)的切割次数。\n\n下一行由n个正数ci (0 \u003c ci \u003c l)组成,表示必须进行切割的位置,按照严格递增的顺序给出。\n\nl \u003d 0的输入情况表示输入的结束。"}},{"title":"Output","value":{"format":"MD","content":"输出切割问题最优解的成本,也就是切割给定棒的最小成本。如下所示格式化输出。"}},{"title":"Sample Input","value":{"format":"MD","content":"100\n3\n25 50 75\n10\n4\n4 5 7 8\n0"}},{"title":"Sample Output","value":{"format":"MD","content":"The minimum cutting is 200.\nThe minimum cutting is 22."}}]}