BZPRO
#5551. [PA2019]Muzyka pop
内存限制:256 MiB
时间限制:60 Sec
提交
提交记录
讨论
题目描述
给定n个整数a[1..n],请找到n个非负整数b[1..n],使得a[1]*f(b[1])+a[2]*f(b[2])+...+a[n]*f(b[n])的值最大,其中f(x)为x在二进制下的1的个数。
你找到的这n个非负整数b[1..n]需要满足0<=b[1]<b[2]<...<b[n]<=m。
输入格式
第一行两个整数n,m(1<=n<=200,n-1<=m<=10^18)。
第二行包含n个整数a[1],a[2],...,a[n](|a[i]|<=10^14)。
输出格式
输出一行一个整数,即a[1]*f(b[1])+a[2]*f(b[2])+...+a[n]*f(b[n])的最大值。
样例
样例输入
3 5
2 -1 3
样例输出
9
HINT
b[1]=3,b[2]=4,b[3]=5,则答案为2*2+(-1)*1+3*2=9。
数据范围与提示