#P5985. [PA2019] Muzyka pop

[PA2019] Muzyka pop

题目描述

给定 n n 个整数 a1..na_{1..n},请找到 nn 个非负整数 b1..nb_{1..n},使得 $a_1\times \operatorname{f(b_1)}+a_2\times \operatorname{f(b_2)}+...+a_n\times \operatorname{f(b_n)}$ 的值最大,其中 f(x)\operatorname{f(x)} xx 在二进制下的 11 的个数。

你找到的这 nn 个非负整数 b1..nb_{1..n} 需要满足 0b1<b2<...<bnm0\le b_1<b_2<...<b_n\le m

输入格式

第一行两个整数 n,mn,m

第二行包含 nn 个整数 a1,a2,...,ana_1,a_2,...,a_n

输出格式

输出一行一个整数,即 $a_1\times \operatorname{f(b_1)}+a_2\times \operatorname{f(b_2)}+...+a_n\times \operatorname{f(b_n)}$ 的最大值。

3 5
2 -1 3
9

提示

对于 100%100\% 的数据,1n2001\le n\le 200n1m1018n-1\le m\le 10^{18}ai1014|a_i|\le 10^{14}


解释:

b1=3,b2=4,b3=5b_1=3,b_2=4,b_3=5,则答案为 2×2+(1)×1+3×2=92\times 2+(-1)\times 1+3\times 2=9