环形序列分组
时间限制:1秒 内存限制:256M
【问题描述】
有 \(N\) 个整数围成一圈,在其中插入 \(M\) 个隔板,会把这一圈数分成 \(M\) 个子段,然后把每个子段内的数相加,相加所得的 \(M\) 个结果对 10 取模后再相乘,最终得到一个整数 \(V\)。那么 \(V\) 的最大值是多少,请你编程回答。
特别值得注意的是,无论是负数还是正数,对 10 取模的结果均为非负值。
【输入格式】
第一行有两个整数,\(N\) 和 \(M\)。接下来的 \(N\) 行,每行一个整数,其绝对值不大于10000,按顺序给出圈中的数字,首尾相接。
【输出格式】
输出一个非负整数,表示 \(V\) 的最大的值。
【输入输出样例】
Input
4 2
2
-1
3
4
Output
81
【样例解释】
4个数围城一圈,如下图:
、
插入2个隔板,则能得到 \(V\) 的最大值为:\(((-1)\ mod\ 10)×((3+4+2) mod\ 10) = 9×9 = 81\)。
【数据限制】
\(1≤N≤200\)
\(1≤M≤100\)