#include <stdio.h>
#include <stdlib.h>

void swap(int *a, int *b){
    int tmp;
    tmp = *a;
    *a = *b;
    *b = tmp;
}
void mySort(int a[], int n){
    int i,j;
    for(i=0;i<n-1;i++){
        for(j=n-1;j>i;j--){
            if(a[j]>a[j-1])
            swap(&a[j],&a[j-1]);
        }
    }
}

int solve(){
    int ret = 0;
    int n,q,i,j,x;
    int *m;
    scanf("%d %d",&n,&q);
    m = (int*)malloc(sizeof(int)*n*q);
    if(m==NULL){
        printf("ERROR\n");
        return -1;
    }
    for(i=0;i<n;i++){
        scanf("%d",&x);
        ret += x;
        for(j=0;j<q;j++){
            x = (x+1)/2; 
            m[i*q+j] = x;
        }
    }
    mySort(m,n*q);
    for(i=0;i<q;i++){
        ret -= m[i];
    }
    free(m);
    return ret;
}

//メイン関数はいじらなくて良い
int main(void){
    printf("%d\n",solve());
    return 0;
}
