智能哑铃
时间限制:1秒 内存限制:256M
【题目描述】
健身房里有n个用于锻炼力量的智能哑铃,其中ai表示第i个哑铃的原始重量。这些哑铃可以设置成k种不同的“重量类型”,编号为 1,2,…,k。
对1到k每个重量类型,每个哑铃的重量按如下变化:
1)先将哑铃的原始重量除以当前重量类型的结果为一个整数(舍去小数部分),并记录下来。
2)然后将1)记录的整数乘以“哑铃的原始重量+2 的值”,若得到的整数大于108,则把它替换为108。
3)最后把所有哑铃在2)中得到的整数相加,得出当前重量类型下哑铃“力量值”。
现在前来锻炼的小H想知道,所有重量类型下的哑铃的力量值之和,请你帮他解决这个问题。
【输入格式】
第一行包含两个自然数n,k(1≤n,k≤105),分别表示哑铃数量与重量类型数量。
第二行包含n个整数 a1,a2,…,an(1≤ai≤105)。
【输出格式】
输出一行一个整数,表示题目所求的总和。
【输入输出样例1】
Input
1 2
2
Output
12
【输入输出样例1】
Input
2 1
3 4
Output
39
【样例说明】
该样例中只有重量类型 1:
第1个哑铃在k=1时:3/1*(3+2)=15
第2个哑铃在k=1时:4/1*(4+2)=24。
总和为 15+24=39。
【输入输出样例1】
Input
7 19
1 2 3 4 5 6 7
Output
414
【测试点性质】
| 子任务 | 分值 | 限制 |
|---|---|---|
| \(1\) | \(17\) | \(k \le 300\) |
| \(2\) | \(19\) | 数组 \(a\) 中不同取值不超过 \(300\) 个 |
| \(3\) | \(34\) | 无额外限制 |
【来源】
Mr.he