//ojou kawayo no.1
#include <bits/stdc++.h>
using namespace std;
#define tsk "vaccination"
#define pb push_back
#define pf push_front
#define fi first
#define se second
#define Ningen_sama signed
#define tachi main()
#define __builtin_popcount __builtin_popcountll
#define el cout<<'\n'
#define all(a) a.begin(),a.end()
#define invAll(a) a.rbegin(),a.rend()
#define sz(a) ((int)a.size())
#define BIT(x, k) (1ll&((x) >> (k)))
#define mem(a,x) memset(a,x,sizeof(a))
#define debug(x) cout << #x << " = " << x << '\n'
#define execute cerr << "Time elapsed: " << (1.0 * clock() / CLOCKS_PER_SEC) << "s"
#define FOR(i, l, r) for(int i = (l); i <= (r); ++i)
#define FORD(i, l, r) for(int i = (l); i >= (r); --i)
#define REP(i, n) for(int i = 0; i < (n); ++i)
//#define int long long
template<class T> bool maximize(T& u, T v){if(u >= v) return false;return u = v, true;}
template<class T> bool minimize(T& u, T v){if(u <= v) return false;return u = v, true;}
using pii = pair<int, int>;
using ll = long long;
using vi = vector<int>;
using vpii = vector<pair<int, int>>;
#define inf32 0x3f3f3f3f
#define inf64 0x3f3f3f3f3f3f3f3f
const int maxn = 1e6+5;
const int N = 5e3 + 5;
const int base = 31;
const ll mod = 1e9 + 7;
const ll need = 67108863;
const int vc = 2e9 + 1;
const ll INF18 = 4557430888798830399;
const ll LOG = 20;
const double eps = 1e-9;
const int BLOCK = 447;
const int dx[4] = {1, 0, -1, 0};
const int dy[4] = {0, -1, 0, 1};
mt19937_64 rd(chrono::steady_clock::now().time_since_epoch().count());
#define rand rd
inline long long Rand(long long L, long long R) {
if(L>R) return 0;
return L + rd() % (R - L + 1);
}
inline ll add(ll x, ll y){x+=y;if(x>=mod) x-=mod;if(x<0) x+=mod;return x;}
inline ll mult(ll x, ll y){return 1LL * x * y % mod;}
ll T(int a, int k) {
return (a + k - 1) / k;
}
struct Node {
ll delta;
int idx;
int k;
};
struct Cmp {
bool operator()(Node const& A, Node const& B) const {
if (A.delta != B.delta) return A.delta < B.delta;
return A.idx > B.idx;
}
};
int n, t;
int a[maxn], query[maxn], x[maxn];
int Mmax;
inline void init(){
}
inline void input(){
cin >> n >> t;
FOR(i, 0, n - 1) cin >> a[i];
FOR(i, 0, t - 1){
cin >> query[i];
Mmax = max(Mmax, query[i]);
}
}
inline void solve(){
FOR(i, 0, n - 1) x[i] = 1;
ll current_total = 0;
FOR(i, 0, n - 1) current_total += T(a[i], 1);
priority_queue<Node, vector<Node>, Cmp> pq;
FOR(i, 0, n - 1){
ll delta = T(a[i], 1) - T(a[i], 2);
pq.push({delta, i, 1});
}
vector<ll> ans(Mmax + 1, -1);
if (Mmax >= n) ans[n] = current_total;
for (int s = n; s < Mmax; ++s) {
while (!pq.empty()) {
Node top = pq.top();
if (top.k != x[top.idx]) {
pq.pop();
continue;
}
pq.pop();
ll delta = top.delta;
int i = top.idx;
int k = top.k;
current_total -= delta;
x[i] = k + 1;
ll new_delta = T(a[i], k + 1) - T(a[i], k + 2);
pq.push({new_delta, i, k + 1});
break;
}
ans[s + 1] = current_total;
}
for (int i = 0; i < t; ++i) {
int m = query[i];
cout << ans[m]; el;
}
}
Ningen_sama tachi{
//konnakiri~~
if(fopen(tsk".inp","r")){
freopen(tsk".inp","r",stdin);
freopen(tsk".out","w",stdout);
}
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int Yodayo = 1;
//cin >> Yodayo;
//init();
while(Yodayo--){
input();
solve();
}
//execute;
}
//otsunakiri~~
Ly9vam91IGthd2F5byBuby4xCiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIHRzayAidmFjY2luYXRpb24iCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgcGYgcHVzaF9mcm9udAojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgTmluZ2VuX3NhbWEgc2lnbmVkCiNkZWZpbmUgdGFjaGkgbWFpbigpCiNkZWZpbmUgX19idWlsdGluX3BvcGNvdW50IF9fYnVpbHRpbl9wb3Bjb3VudGxsCiNkZWZpbmUgZWwgY291dDw8J1xuJwojZGVmaW5lIGFsbChhKSBhLmJlZ2luKCksYS5lbmQoKQojZGVmaW5lIGludkFsbChhKSBhLnJiZWdpbigpLGEucmVuZCgpCiNkZWZpbmUgc3ooYSkgKChpbnQpYS5zaXplKCkpCiNkZWZpbmUgQklUKHgsIGspICgxbGwmKCh4KSA+PiAoaykpKQojZGVmaW5lIG1lbShhLHgpIG1lbXNldChhLHgsc2l6ZW9mKGEpKQojZGVmaW5lIGRlYnVnKHgpIGNvdXQgPDwgI3ggPDwgIiA9ICIgPDwgeCA8PCAnXG4nCiNkZWZpbmUgZXhlY3V0ZSBjZXJyIDw8ICJUaW1lIGVsYXBzZWQ6ICIgPDwgKDEuMCAqIGNsb2NrKCkgLyBDTE9DS1NfUEVSX1NFQykgPDwgInMiCiNkZWZpbmUgRk9SKGksIGwsIHIpIGZvcihpbnQgaSA9IChsKTsgaSA8PSAocik7ICsraSkKI2RlZmluZSBGT1JEKGksIGwsIHIpIGZvcihpbnQgaSA9IChsKTsgaSA+PSAocik7IC0taSkKI2RlZmluZSBSRVAoaSwgbikgZm9yKGludCBpID0gMDsgaSA8IChuKTsgKytpKQovLyNkZWZpbmUgaW50IGxvbmcgbG9uZwoKdGVtcGxhdGU8Y2xhc3MgVD4gYm9vbCBtYXhpbWl6ZShUJiB1LCBUIHYpe2lmKHUgPj0gdikgcmV0dXJuIGZhbHNlO3JldHVybiB1ID0gdiwgdHJ1ZTt9CnRlbXBsYXRlPGNsYXNzIFQ+IGJvb2wgbWluaW1pemUoVCYgdSwgVCB2KXtpZih1IDw9IHYpIHJldHVybiBmYWxzZTtyZXR1cm4gdSA9IHYsIHRydWU7fQoKdXNpbmcgcGlpID0gcGFpcjxpbnQsIGludD47CnVzaW5nIGxsID0gbG9uZyBsb25nOwp1c2luZyB2aSA9IHZlY3RvcjxpbnQ+Owp1c2luZyB2cGlpID0gdmVjdG9yPHBhaXI8aW50LCBpbnQ+PjsKCiNkZWZpbmUgaW5mMzIgMHgzZjNmM2YzZgojZGVmaW5lIGluZjY0IDB4M2YzZjNmM2YzZjNmM2YzZgpjb25zdCBpbnQgbWF4biA9IDFlNis1Owpjb25zdCBpbnQgTiA9IDVlMyArIDU7CmNvbnN0IGludCBiYXNlID0gMzE7CmNvbnN0IGxsIG1vZCA9IDFlOSArIDc7CmNvbnN0IGxsIG5lZWQgPSA2NzEwODg2MzsKY29uc3QgaW50IHZjID0gMmU5ICsgMTsKY29uc3QgbGwgSU5GMTggPSA0NTU3NDMwODg4Nzk4ODMwMzk5Owpjb25zdCBsbCBMT0cgPSAyMDsKY29uc3QgZG91YmxlIGVwcyA9IDFlLTk7CmNvbnN0IGludCBCTE9DSyA9IDQ0NzsKY29uc3QgaW50IGR4WzRdID0gezEsIDAsIC0xLCAwfTsKY29uc3QgaW50IGR5WzRdID0gezAsIC0xLCAwLCAxfTsKCm10MTk5MzdfNjQgcmQoY2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpLnRpbWVfc2luY2VfZXBvY2goKS5jb3VudCgpKTsKI2RlZmluZSByYW5kIHJkCmlubGluZSBsb25nIGxvbmcgUmFuZChsb25nIGxvbmcgTCwgbG9uZyBsb25nIFIpIHsKICAgIGlmKEw+UikgcmV0dXJuIDA7CiAgICByZXR1cm4gTCArIHJkKCkgJSAoUiAtIEwgKyAxKTsKfQoKaW5saW5lIGxsIGFkZChsbCB4LCBsbCB5KXt4Kz15O2lmKHg+PW1vZCkgeC09bW9kO2lmKHg8MCkgeCs9bW9kO3JldHVybiB4O30KaW5saW5lIGxsIG11bHQobGwgeCwgbGwgeSl7cmV0dXJuIDFMTCAqIHggKiB5ICUgbW9kO30KCmxsIFQoaW50IGEsIGludCBrKSB7CiAgICByZXR1cm4gKGEgKyBrIC0gMSkgLyBrOwp9CgpzdHJ1Y3QgTm9kZSB7CiAgICBsbCBkZWx0YTsKICAgIGludCBpZHg7CiAgICBpbnQgazsKfTsKCnN0cnVjdCBDbXAgewogICAgYm9vbCBvcGVyYXRvcigpKE5vZGUgY29uc3QmIEEsIE5vZGUgY29uc3QmIEIpIGNvbnN0IHsKICAgICAgICBpZiAoQS5kZWx0YSAhPSBCLmRlbHRhKSByZXR1cm4gQS5kZWx0YSA8IEIuZGVsdGE7CiAgICAgICAgcmV0dXJuIEEuaWR4ID4gQi5pZHg7CiAgICB9Cn07CgppbnQgbiwgdDsKaW50IGFbbWF4bl0sIHF1ZXJ5W21heG5dLCB4W21heG5dOwppbnQgTW1heDsKCmlubGluZSB2b2lkIGluaXQoKXsKCn0KCmlubGluZSB2b2lkIGlucHV0KCl7CiAgICBjaW4gPj4gbiA+PiB0OwogICAgRk9SKGksIDAsIG4gLSAxKSBjaW4gPj4gYVtpXTsKCiAgICBGT1IoaSwgMCwgdCAtIDEpewogICAgICAgIGNpbiA+PiBxdWVyeVtpXTsKICAgICAgICBNbWF4ID0gbWF4KE1tYXgsIHF1ZXJ5W2ldKTsKICAgIH0KfQoKaW5saW5lIHZvaWQgc29sdmUoKXsKICAgIEZPUihpLCAwLCBuIC0gMSkgeFtpXSA9IDE7CiAgICBsbCBjdXJyZW50X3RvdGFsID0gMDsKICAgIEZPUihpLCAwLCBuIC0gMSkgY3VycmVudF90b3RhbCArPSBUKGFbaV0sIDEpOwoKICAgIHByaW9yaXR5X3F1ZXVlPE5vZGUsIHZlY3RvcjxOb2RlPiwgQ21wPiBwcTsKCiAgICBGT1IoaSwgMCwgbiAtIDEpewogICAgICAgIGxsIGRlbHRhID0gVChhW2ldLCAxKSAtIFQoYVtpXSwgMik7CiAgICAgICAgcHEucHVzaCh7ZGVsdGEsIGksIDF9KTsKICAgIH0KCiAgICB2ZWN0b3I8bGw+IGFucyhNbWF4ICsgMSwgLTEpOwogICAgaWYgKE1tYXggPj0gbikgYW5zW25dID0gY3VycmVudF90b3RhbDsKCiAgICBmb3IgKGludCBzID0gbjsgcyA8IE1tYXg7ICsrcykgewogICAgICAgIHdoaWxlICghcHEuZW1wdHkoKSkgewogICAgICAgICAgICBOb2RlIHRvcCA9IHBxLnRvcCgpOwogICAgICAgICAgICBpZiAodG9wLmsgIT0geFt0b3AuaWR4XSkgewogICAgICAgICAgICAgICAgcHEucG9wKCk7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBwcS5wb3AoKTsKICAgICAgICAgICAgbGwgZGVsdGEgPSB0b3AuZGVsdGE7CiAgICAgICAgICAgIGludCBpID0gdG9wLmlkeDsKICAgICAgICAgICAgaW50IGsgPSB0b3AuazsKCiAgICAgICAgICAgIGN1cnJlbnRfdG90YWwgLT0gZGVsdGE7CgogICAgICAgICAgICB4W2ldID0gayArIDE7CgogICAgICAgICAgICBsbCBuZXdfZGVsdGEgPSBUKGFbaV0sIGsgKyAxKSAtIFQoYVtpXSwgayArIDIpOwogICAgICAgICAgICBwcS5wdXNoKHtuZXdfZGVsdGEsIGksIGsgKyAxfSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBhbnNbcyArIDFdID0gY3VycmVudF90b3RhbDsKICAgIH0KCiAgICBmb3IgKGludCBpID0gMDsgaSA8IHQ7ICsraSkgewogICAgICAgIGludCBtID0gcXVlcnlbaV07CiAgICAgICAgY291dCA8PCBhbnNbbV07IGVsOwogICAgfQp9CgpOaW5nZW5fc2FtYSB0YWNoaXsKICAgIC8va29ubmFraXJpfn4KICAgIGlmKGZvcGVuKHRzayIuaW5wIiwiciIpKXsKICAgICAgICBmcmVvcGVuKHRzayIuaW5wIiwiciIsc3RkaW4pOwogICAgICAgIGZyZW9wZW4odHNrIi5vdXQiLCJ3IixzdGRvdXQpOwogICAgfQogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKCiAgICBpbnQgWW9kYXlvID0gMTsKCiAgICAvL2NpbiA+PiBZb2RheW87CiAgICAvL2luaXQoKTsKCiAgICB3aGlsZShZb2RheW8tLSl7CiAgICAgICAgaW5wdXQoKTsKICAgICAgICBzb2x2ZSgpOwogICAgfQoKICAgIC8vZXhlY3V0ZTsKfQovL290c3VuYWtpcml+fgo=