编程题
### 问题描述 在一座历史悠久的城市中,有一条名为 "历史大道" 的街道,沿街排列着 $n$ 座历史建筑,每座建筑的历史价值可以用一个整数来衡量,分别为 $a_1, a_2, \ldots, a_n$。 城市的文化部长决定为这条街道制作一本精美的纪念册,希望能够选取一段连续的建筑群,使得这些建筑的历史价值和共性最能体现这条街的特色。 为了评估一段建筑群的历史共性,文化部长提出了一个指标:建筑群的价值共性度。这个价值共性度由建筑历史价值的最大公约数 $g$ 和建筑历史价值的总和共同决定,计算公式为 $g \cdot (a_l + \ldots + a_r)$,其中 $l$ 和 $r$ 分别是选定建筑群的起始和结束位置。同时,为了保证纪念册的丰富性,文化部长要求至少选择 $k$ 座建筑。 现在,请你帮助文化部长找出一段连续建筑群,使得其价值共性度最大。 ### 输入格式 第一行包含两个整数 $n, k \left(1 \leq k \leq n \leq 10^6\right)$,分别表示街道上建筑的数量和至少需要选择的建筑数量。 第二行包含 $n$ 个整数 $h_1, h_2, \ldots, h_n \left(1 \leq h_i \leq 10^6\right)$,表示每座建筑的历史价值。 ### 输出格式 输出一个整数,表示最大的价值共性度。 ### 样例输入 ```text 3 2 2 2 1 ``` ### 样例输出 ```text 8 ``` ### 样例说明 最大的价值共性度为 $2 \times (2 + 2) = 8$。
查看答案
赣ICP备20007335号-2