#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define ll long long
#define all(x) (x).begin(), (x).end()
#define MASK(i) (1LL<<(i))
#define BIT(i,n) (((n)>>(i)) & 1LL)
template <class X, class Y>
bool minimize(X& x, const Y& y)
{
if(x > y){
x = y;
return 1;
}
return 0;
}
template <class X, class Y>
bool maximize(X& x, const Y& y)
{
if(x < y){
x = y;
return 1;
}
return 0;
}
const int N = 1e5 + 5;
int n, q, a[N], k, m;
ll pref[N], ans;
int findpos(int k)
{
int l = 1, r = n, mid, res = n;
while(l <= r){
mid = l + r >> 1;
if(a[mid] <= k) l = mid + 1, res = mid;
else r = mid - 1;
}
return res;
}
ll calc(const int &posI)
{
int posJ = m - posI;
return pref[posI] + (posJ * 2LL * k - (pref[n] - pref[n - posJ]));
}
void process()
{
cin >> n >> q;
for(int i = 1; i <= n; ++i) cin >> a[i];
sort(a + 1, a + 1 + n);
for(int i = 1; i <= n; ++i){
pref[i] = pref[i - 1] + a[i];
}
while(q--){
cin >> k >> m;
int t = findpos(k);
int l = 0, r = min(t, m), mid, posI = r;
while(l <= r){
mid = l + r >> 1;
if(a[mid] - (2 * k - a[n - (m - mid) + 1]) >= 0) r = mid - 1, posI = mid;
else l = mid + 1;
}
ans = calc(posI);
if(posI > 0) minimize(ans, calc(posI - 1));
cout << ans << "\n";
}
}
int main()
{
ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define file "thieufilethinguhetcuu"
if(fopen(file".inp","r")){
freopen(file".inp","r",stdin);
freopen(file".out","w",stdout);
}
int _ = 1;
// cin >> _;
while(_--){
process();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBhbGwoeCkgKHgpLmJlZ2luKCksICh4KS5lbmQoKQojZGVmaW5lIE1BU0soaSkgKDFMTDw8KGkpKQojZGVmaW5lIEJJVChpLG4pICgoKG4pPj4oaSkpICYgMUxMKQoKdGVtcGxhdGUgPGNsYXNzIFgsIGNsYXNzIFk+CiAgICBib29sIG1pbmltaXplKFgmIHgsIGNvbnN0IFkmIHkpCiAgICB7CiAgICAgICAgaWYoeCA+IHkpewogICAgICAgICAgICB4ID0geTsKICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgfQogICAgICAgIHJldHVybiAwOwogICAgfQoKdGVtcGxhdGUgPGNsYXNzIFgsIGNsYXNzIFk+CiAgICBib29sIG1heGltaXplKFgmIHgsIGNvbnN0IFkmIHkpCiAgICB7CiAgICAgICAgaWYoeCA8IHkpewogICAgICAgICAgICB4ID0geTsKICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgfQogICAgICAgIHJldHVybiAwOwogICAgfQoKY29uc3QgaW50IE4gPSAxZTUgKyA1OwoKaW50IG4sIHEsIGFbTl0sIGssIG07CmxsIHByZWZbTl0sIGFuczsKCmludCBmaW5kcG9zKGludCBrKQp7CiAgICBpbnQgbCA9IDEsIHIgPSBuLCBtaWQsIHJlcyA9IG47CiAgICB3aGlsZShsIDw9IHIpewogICAgICAgIG1pZCA9IGwgKyByID4+IDE7CiAgICAgICAgaWYoYVttaWRdIDw9IGspIGwgPSBtaWQgKyAxLCByZXMgPSBtaWQ7CiAgICAgICAgZWxzZSByID0gbWlkIC0gMTsKICAgIH0KICAgIHJldHVybiByZXM7Cn0KCmxsIGNhbGMoY29uc3QgaW50ICZwb3NJKQp7CiAgICBpbnQgcG9zSiA9IG0gLSBwb3NJOwogICAgcmV0dXJuIHByZWZbcG9zSV0gKyAocG9zSiAqIDJMTCAqIGsgLSAocHJlZltuXSAtIHByZWZbbiAtIHBvc0pdKSk7Cn0KCnZvaWQgcHJvY2VzcygpCnsKICAgIGNpbiA+PiBuID4+IHE7CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgY2luID4+IGFbaV07CiAgICBzb3J0KGEgKyAxLCBhICsgMSArIG4pOwoKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgKytpKXsKICAgICAgICBwcmVmW2ldID0gcHJlZltpIC0gMV0gKyBhW2ldOwogICAgfQoKICAgIHdoaWxlKHEtLSl7CiAgICAgICAgY2luID4+IGsgPj4gbTsKICAgICAgICBpbnQgdCA9IGZpbmRwb3Moayk7CiAgICAgICAgaW50IGwgPSAwLCByID0gbWluKHQsIG0pLCBtaWQsIHBvc0kgPSByOwogICAgICAgIHdoaWxlKGwgPD0gcil7CiAgICAgICAgICAgIG1pZCA9IGwgKyByID4+IDE7CiAgICAgICAgICAgIGlmKGFbbWlkXSAtICgyICogayAtIGFbbiAtIChtIC0gbWlkKSArIDFdKSA+PSAwKSByID0gbWlkIC0gMSwgcG9zSSA9IG1pZDsKICAgICAgICAgICAgZWxzZSBsID0gbWlkICsgMTsKICAgICAgICB9CgogICAgICAgIGFucyA9IGNhbGMocG9zSSk7CiAgICAgICAgaWYocG9zSSA+IDApIG1pbmltaXplKGFucywgY2FsYyhwb3NJIC0gMSkpOwogICAgICAgIGNvdXQgPDwgYW5zIDw8ICJcbiI7CiAgICB9Cn0KCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKSxjaW4udGllKDApLGNvdXQudGllKDApOwogICAgI2RlZmluZSBmaWxlICJ0aGlldWZpbGV0aGluZ3VoZXRjdXUiCiAgICBpZihmb3BlbihmaWxlIi5pbnAiLCJyIikpewogICAgICAgIGZyZW9wZW4oZmlsZSIuaW5wIiwiciIsc3RkaW4pOwogICAgICAgIGZyZW9wZW4oZmlsZSIub3V0IiwidyIsc3Rkb3V0KTsKICAgIH0KICAgIGludCBfID0gMTsKLy8gICAgY2luID4+IF87CiAgICB3aGlsZShfLS0pewogICAgICAgIHByb2Nlc3MoKTsKICAgIH0KICAgIHJldHVybiAwOwp9