#include <bits/stdc++.h>
using namespace std;
int main() {
int n,q;
cin>>n>>q;
vector<int>deals;
for(int i = 0; i<n; i++){
int a; cin>>a; if(i>0) {deals.push_back(min(a, 2*deals[i-1]));}
else{
deals.push_back(a);
}
}
for(int i = 1; i<=q; i++){
int price=0; //price = amount spent
int x; cin>>x;
int ans = INT_MAX;
for(int j = n-1; j>=0; j--){
int take = x/(pow(2,j));
price+=take*deals[j];
x-=take*(long long) pow(2,j);
if(x>0){
ans=min(ans, price+deals[j]);
}
else{
ans=min(ans, price);
}
}
cout<<ans<<endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBuLHE7CgljaW4+Pm4+PnE7Cgl2ZWN0b3I8aW50PmRlYWxzOyAKCWZvcihpbnQgaSA9IDA7IGk8bjsgaSsrKXsKCQlpbnQgYTsgY2luPj5hOyBpZihpPjApIHtkZWFscy5wdXNoX2JhY2sobWluKGEsIDIqZGVhbHNbaS0xXSkpO30KCQllbHNlewoJCQlkZWFscy5wdXNoX2JhY2soYSk7CgkJfQoJCQoJfQoJZm9yKGludCBpID0gMTsgaTw9cTsgaSsrKXsKCQlpbnQgcHJpY2U9MDsgLy9wcmljZSA9IGFtb3VudCBzcGVudAoJCWludCB4OyBjaW4+Png7CgkJaW50IGFucyA9IElOVF9NQVg7CgkJZm9yKGludCBqID0gbi0xOyBqPj0wOyBqLS0pewoJCQlpbnQgdGFrZSA9IHgvKHBvdygyLGopKTsKCQkJcHJpY2UrPXRha2UqZGVhbHNbal07CgkJCQl4LT10YWtlKihsb25nIGxvbmcpIHBvdygyLGopOwoJCQlpZih4PjApewoJCQkJYW5zPW1pbihhbnMsIHByaWNlK2RlYWxzW2pdKTsKCQkJfQoJCQllbHNlewoJCQkJYW5zPW1pbihhbnMsIHByaWNlKTsKCQkJfQoJCX0KCQljb3V0PDxhbnM8PGVuZGw7CgkJfQoJcmV0dXJuIDA7Cn0=