#include <bits/stdc++.h>
using namespace std;
// we can do this using upper bound also -->
int leftPart_lastIndex(long long target, vector<long long> &arr){
int l = 0, r = arr.size()-1;
int ans = -1;
while(l <= r){
long long mid = (l + r)/2;
if(arr[mid] < target){
ans = mid;
l = mid+1;
}
else {
r = mid-1;
}
}
return ans+1;
}
void operations(vector<long long> &queries, vector<long long> &arr){
int n = arr.size();
vector<long long> prefix(n+1, 0);
for (int i = 1; i <= n; i++){
prefix[i] = prefix[i-1] + arr[i-1];
}
long long tot_sum = prefix[n];
for (int i = 0; i < queries.size(); i++){
int g = leftPart_lastIndex(queries[i], arr);
long long left_sum = queries[i]*g - prefix[g];
long long right_sum = (tot_sum - prefix[g]) - queries[i]*(n-g); // 1 based index
cout << left_sum + right_sum << endl;
}
}
int main() {
// your code goes here
int n, q;
cin >> n >> q;
vector<long long> arr(n);
vector<long long> queries(q);
for (int i = 0; i < n; i ++){
cin >> arr[i];
}
for (int i = 0; i < q; i ++){
cin >> queries[i];
}
operations(queries, arr);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLyB3ZSBjYW4gZG8gdGhpcyB1c2luZyB1cHBlciBib3VuZCBhbHNvIC0tPgoKaW50IGxlZnRQYXJ0X2xhc3RJbmRleChsb25nIGxvbmcgdGFyZ2V0LCB2ZWN0b3I8bG9uZyBsb25nPiAmYXJyKXsKCQoJaW50IGwgPSAwLCByID0gYXJyLnNpemUoKS0xOwoJaW50IGFucyA9IC0xOwoJd2hpbGUobCA8PSByKXsKCQlsb25nIGxvbmcgbWlkID0gKGwgKyByKS8yOwoJCWlmKGFyclttaWRdIDwgdGFyZ2V0KXsKCQkJYW5zID0gbWlkOwoJCQlsID0gbWlkKzE7CgkJfQoJCWVsc2UgewoJCQlyID0gbWlkLTE7CgkJfQoJfQoJCglyZXR1cm4gYW5zKzE7CgkKfQoKdm9pZCBvcGVyYXRpb25zKHZlY3Rvcjxsb25nIGxvbmc+ICZxdWVyaWVzLCB2ZWN0b3I8bG9uZyBsb25nPiAmYXJyKXsKCQoJaW50IG4gPSBhcnIuc2l6ZSgpOwoJCgl2ZWN0b3I8bG9uZyBsb25nPiBwcmVmaXgobisxLCAwKTsKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKyl7CgkJcHJlZml4W2ldID0gcHJlZml4W2ktMV0gKyBhcnJbaS0xXTsKCX0KCWxvbmcgbG9uZyB0b3Rfc3VtID0gcHJlZml4W25dOwoJCglmb3IgKGludCBpID0gMDsgaSA8IHF1ZXJpZXMuc2l6ZSgpOyBpKyspewoJCgkJaW50IGcgPSBsZWZ0UGFydF9sYXN0SW5kZXgocXVlcmllc1tpXSwgYXJyKTsKCQlsb25nIGxvbmcgbGVmdF9zdW0gPSBxdWVyaWVzW2ldKmcgLSBwcmVmaXhbZ107CgkJbG9uZyBsb25nIHJpZ2h0X3N1bSA9ICh0b3Rfc3VtIC0gcHJlZml4W2ddKSAtIHF1ZXJpZXNbaV0qKG4tZyk7IC8vIDEgYmFzZWQgaW5kZXgKCQkKCQljb3V0IDw8IGxlZnRfc3VtICsgcmlnaHRfc3VtIDw8IGVuZGw7Cgl9CgkKfQoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglpbnQgbiwgcTsKCWNpbiA+PiBuID4+IHE7Cgl2ZWN0b3I8bG9uZyBsb25nPiBhcnIobik7Cgl2ZWN0b3I8bG9uZyBsb25nPiBxdWVyaWVzKHEpOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpICsrKXsKCQljaW4gPj4gYXJyW2ldOwoJfQoJZm9yIChpbnQgaSA9IDA7IGkgPCBxOyBpICsrKXsKCQljaW4gPj4gcXVlcmllc1tpXTsKCX0KCQoJb3BlcmF0aW9ucyhxdWVyaWVzLCBhcnIpOwoJCglyZXR1cm4gMDsKfQ==