1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <math.h>

using namespace std;

int n,m;

int bin(int a){
    int wyz = 1; int counter = 0;
    while(a>=wyz*2)
        wyz*=2;

    while(a>0)
    {
        if(wyz<=a){
            a-=wyz;
            counter++;
        }
        else{
                wyz=wyz/2;
        }
    }

    return counter;
}

int main()
{
    cin>>n>>m;
    int tab[n];
    for(int i =0; i<n; i++)
        cin>>tab[i];
    int suma = 0;
    for(int i =n-1; i>=0; i--){
        suma+=bin(m)*tab[i];
        m--;
    }
    cout<<suma;
    return 0;
}