#include <stdio.h>
#include <stdlib.h>
//必要があれば,関数をいくつでも追加して良い
int n,q,i;
int *v;
void setting(){
v
= (int*)malloc(sizeof(int)*n
); if(v==NULL){
}
for(i=0;i<n;i++){
}
}
#define MAX 101
void BucketSort(int a[], int n){
int i,t;
int b[MAX];
for(i=0;i<MAX;i++){
b[i]=0;
}
for(i=0;i<n;i++){
t=a[i];
b[t]++;
}
t=0;
for(i=0;i<MAX;i++){
if(b[i]>=1){
while(b[i]>0){
a[t]=i;
t++;
b[i]--;
}
}
}
}
void Attack(int a[], int n, int q){
int i,x;
for(i=q;i>0;i--){
x=a[n-1];
a[n-1]=x/2;
BucketSort(v,n);
}
}
int Sum(int a[], int n){
int i, sum=0;
for(i=0;i<n;i++){
sum=sum+a[i];
}
return sum;
}
int solve(){
int ret;
//ここにプログラムを書く
//ret に答えを入れてメイン関数に返す
//入力を受ける部分も自分で書いてください
//今日の分を含め過去の授業のプログラムが
//参考になるはずです
setting();
BucketSort(v,n);
Attack(v,n,q);
ret=Sum(v,n);
return ret;
}
//メイン関数はいじらなくて良い
int main(void){
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KIAovL+W/heimgeOBjOOBguOCjOOBsO+8jOmWouaVsOOCkuOBhOOBj+OBpOOBp+OCgui/veWKoOOBl+OBpuiJr+OBhAppbnQgbixxLGk7CmludCAqdjsKCgp2b2lkIHNldHRpbmcoKXsKICAgIHNjYW5mKCIlZCIsJm4pOwogICAgc2NhbmYoIiVkIiwgJnEpOwogICAgdiA9IChpbnQqKW1hbGxvYyhzaXplb2YoaW50KSpuKTsKICAgIGlmKHY9PU5VTEwpewogICAgICAgIHByaW50ZigiRVJST1JcbiIpOwogICAgfQogICAgZm9yKGk9MDtpPG47aSsrKXsKICAgICAgICBzY2FuZigiJWQiLCZ2W2ldKTsKICAgIH0KICAgIAp9CiNkZWZpbmUgTUFYIDEwMQp2b2lkIEJ1Y2tldFNvcnQoaW50IGFbXSwgaW50IG4pewogICAgaW50IGksdDsKICAgIGludCBiW01BWF07CiAgICBmb3IoaT0wO2k8TUFYO2krKyl7CiAgICAJYltpXT0wOwogICAgfQogICAgZm9yKGk9MDtpPG47aSsrKXsKICAgIAl0PWFbaV07CiAgICAJYlt0XSsrOwogICAgfQogICAgdD0wOwogICAgZm9yKGk9MDtpPE1BWDtpKyspewogICAgCWlmKGJbaV0+PTEpewogICAgCQl3aGlsZShiW2ldPjApewogICAgCQkJYVt0XT1pOwogICAgCQkJdCsrOwogICAgCQkJYltpXS0tOwogCiAgICAJCX0KICAgIAl9CiAgICB9Cn0KCnZvaWQgQXR0YWNrKGludCBhW10sIGludCBuLCBpbnQgcSl7CglpbnQgaSx4OwoJZm9yKGk9cTtpPjA7aS0tKXsKCQl4PWFbbi0xXTsKCQlhW24tMV09eC8yOwoJCUJ1Y2tldFNvcnQodixuKTsKCX0KfQoKaW50IFN1bShpbnQgYVtdLCBpbnQgbil7CglpbnQgaSwgc3VtPTA7Cglmb3IoaT0wO2k8bjtpKyspewoJCXN1bT1zdW0rYVtpXTsKCX0KCXJldHVybiBzdW07Cn0KCmludCBzb2x2ZSgpewogICAgaW50IHJldDsKICAgIC8v44GT44GT44Gr44OX44Ot44Kw44Op44Og44KS5pu444GPCiAgICAvL3JldCDjgavnrZTjgYjjgpLlhaXjgozjgabjg6HjgqTjg7PplqLmlbDjgavov5TjgZkKICAgIC8v5YWl5Yqb44KS5Y+X44GR44KL6YOo5YiG44KC6Ieq5YiG44Gn5pu444GE44Gm44GP44Gg44GV44GECiAgICAvL+S7iuaXpeOBruWIhuOCkuWQq+OCgemBjuWOu+OBruaOiOalreOBruODl+ODreOCsOODqeODoOOBjAogICAgLy/lj4LogIPjgavjgarjgovjga/jgZrjgafjgZkKICAgIHNldHRpbmcoKTsKICAgIEJ1Y2tldFNvcnQodixuKTsKICAgIEF0dGFjayh2LG4scSk7CiAgICByZXQ9U3VtKHYsbik7CiAgICBmcmVlKHYpOwogICAgcmV0dXJuIHJldDsKfQogCiAKCi8v44Oh44Kk44Oz6Zai5pWw44Gv44GE44GY44KJ44Gq44GP44Gm6Imv44GECmludCBtYWluKHZvaWQpewogICAgcHJpbnRmKCIlZFxuIixzb2x2ZSgpKTsKICAgIHJldHVybiAwOwp9CiA=