#P1043. [NOIP2003 普及组] 数字游戏

    ID: 43 Type: RemoteJudge 1000ms 125MiB Tried: 0 Accepted: 0 Difficulty: 4 Uploaded By: Tags>动态规划,dp搜索2003NOIp 普及组前缀和

[NOIP2003 普及组] 数字游戏

题目描述

丁丁最近沉迷于一个数字游戏之中。这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易。游戏是这样的,在你面前有一圈整数(一共 nn 个),你要按顺序将其分为 mm 个部分,各部分内的数字相加,相加所得的 mm 个结果对 1010 取模后再相乘,最终得到一个数 kk。游戏的要求是使你所得的 kk 最大或者最小。

例如,对于下面这圈数字(n=4n=4m=2m=2):

要求最小值时,((21)mod10)×((4+3)mod10)=1×7=7((2-1)\bmod10)\times ((4+3)\bmod10)=1\times 7=7,要求最大值时,为 ((2+4+3)mod10)×(1mod10)=9×9=81((2+4+3)\bmod10)\times (-1\bmod10)=9\times 9=81。特别值得注意的是,无论是负数还是正数,对 1010 取模的结果均为非负值。

丁丁请你编写程序帮他赢得这个游戏。

输入格式

输入文件第一行有两个整数,nn1n501\le n\le 50) 和 mm1m91\le m\le 9)。以下 nn 行每行有个整数,其绝对值 104\le10^4,按顺序给出圈中的数字,首尾相接。

输出格式

输出文件有 22 行,各包含 11 个非负整数。第 11 行是你程序得到的最小值,第 22 行是最大值。

4 2
4
3
-1
2

7
81

提示

【题目来源】

NOIP 2003 普及组第二题