#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
constexpr int md = 1e9 + 7;
const int N = 50000003;
#define xi first
#define yi second
#define MAX 1000007
#define INF 1e18
#define SQ 500
ll gcd(ll a, ll b) {
while (b) a %= b, swap(a, b);
return a;
}
int x;
struct SegTree{
int n;
vector<int> seg;
SegTree(int n) : n(n), seg(n * 2) {}
void build(vector<int>& arr) {
build(1, 0, n - 1, arr);
}
void upd(int pos, int val) {
upd(1, 0, n - 1, pos, val);
}
int query(int l, int r) {
return query(1, 0, n - 1, l, r);
}
void build(int idx, int l, int r, vector<int> &a) {
if (l == r) {
seg[idx] = a[l];
return;
}
int mid = (l + r) / 2;
build(idx + 1, l, mid, a);
build(idx + 2 * (mid - l + 1), mid + 1, r, a);
seg[idx] = min(seg[idx + 1], seg[idx + 2 * (mid - l + 1)]);
}
void upd(int idx, int l, int r, int pos, int val) {
if (l == r) {
seg[idx] = val;
return;
}
int mid = (l + r) / 2;
if (pos <= mid) upd(idx + 1, l, mid, pos, val);
else upd(idx + 2 * (mid - l + 1), mid + 1, r, pos, val);
seg[idx] = min(seg[idx + 1], seg[idx + 2 * (mid - l + 1)]);
}
int query(int idx, int tl, int tr, int l, int r) {
if (tl == tr) {
return tl;
}
int mid = (tl + tr) / 2, L = idx + 1, R = idx + 2 * (mid - tl + 1);
if (seg[L] <= x) return query(L, tl, mid, l, r);
if (seg[R] <= x) return query(R, mid + 1, tr, l, r);
return 1e9 + 1;
}
};
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
// freopen("boxes.in", "r", stdin);
int t;
cin >> t;
while (t--) {
int n, k, a , b; cin >> n >> k >> a >> b;
vector<int> arr(n);
vector<pair<int, int>> c(n);
--k;
for (int i = 0; i < n; i++) {
cin >> arr[i];
c[i] = {arr[i], i};
}
sort(c.begin(), c.end());
int v = arr[k];
vector<ll> suff(n + 1), suff2(n +1);
int beg = 0;
for (int i = n - 1; i >= 0; i--) {
suff[i] = suff[i + 1] + (b + 2 * abs(k - c[i].second)) * (c[i].first - v);
suff2[i] = suff2[i + 1] + (b + 2 * abs(k - c[i].second));
if (c[i].first <= v) {
beg = i;
break;
}
}
ll ans = 1e18, sum = 0;
for (int i = beg; i < n; i++) {
sum = c[i].first - v;
ans = min(ans, suff[i] - (sum * suff2[i]) + sum * a);
}
cout << ans << endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgbG9uZyBkb3VibGUgbGQ7CmNvbnN0ZXhwciBpbnQgbWQgPSAxZTkgKyA3OwoKY29uc3QgaW50IE4gPSA1MDAwMDAwMzsKCiNkZWZpbmUgeGkgZmlyc3QKI2RlZmluZSB5aSBzZWNvbmQKI2RlZmluZSBNQVggMTAwMDAwNwojZGVmaW5lIElORiAxZTE4CiNkZWZpbmUgU1EgNTAwCgpsbCBnY2QobGwgYSwgbGwgYikgewogICAgd2hpbGUgKGIpIGEgJT0gYiwgc3dhcChhLCBiKTsKICAgIHJldHVybiBhOwp9CmludCB4OwpzdHJ1Y3QgU2VnVHJlZXsKICAgIGludCBuOwogICAgdmVjdG9yPGludD4gc2VnOwogICAgU2VnVHJlZShpbnQgbikgOiBuKG4pLCBzZWcobiAqIDIpIHt9CiAgICB2b2lkIGJ1aWxkKHZlY3RvcjxpbnQ+JiBhcnIpIHsKICAgICAgICBidWlsZCgxLCAwLCBuIC0gMSwgYXJyKTsKICAgIH0KICAgIHZvaWQgdXBkKGludCBwb3MsIGludCB2YWwpIHsKICAgICAgICB1cGQoMSwgMCwgbiAtIDEsIHBvcywgdmFsKTsKICAgIH0KICAgIGludCBxdWVyeShpbnQgbCwgaW50IHIpIHsKICAgICAgICByZXR1cm4gcXVlcnkoMSwgMCwgbiAtIDEsIGwsIHIpOwogICAgfQogICAgdm9pZCBidWlsZChpbnQgaWR4LCBpbnQgbCwgaW50IHIsIHZlY3RvcjxpbnQ+ICZhKSB7CiAgICAgICAgaWYgKGwgPT0gcikgewogICAgICAgICAgICBzZWdbaWR4XSA9IGFbbF07CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgaW50IG1pZCA9IChsICsgcikgLyAyOwogICAgICAgIGJ1aWxkKGlkeCArIDEsIGwsIG1pZCwgYSk7CiAgICAgICAgYnVpbGQoaWR4ICsgMiAqIChtaWQgLSBsICsgMSksIG1pZCArIDEsIHIsIGEpOwogICAgICAgIHNlZ1tpZHhdID0gbWluKHNlZ1tpZHggKyAxXSwgc2VnW2lkeCArIDIgKiAobWlkIC0gbCArIDEpXSk7CiAgICB9CiAgICB2b2lkIHVwZChpbnQgaWR4LCBpbnQgbCwgaW50IHIsIGludCBwb3MsIGludCB2YWwpIHsKICAgICAgICBpZiAobCA9PSByKSB7CiAgICAgICAgICAgIHNlZ1tpZHhdID0gdmFsOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGludCBtaWQgPSAobCArIHIpIC8gMjsKICAgICAgICBpZiAocG9zIDw9IG1pZCkgdXBkKGlkeCArIDEsIGwsIG1pZCwgcG9zLCB2YWwpOwogICAgICAgIGVsc2UgdXBkKGlkeCArIDIgKiAobWlkIC0gbCArIDEpLCBtaWQgKyAxLCByLCBwb3MsIHZhbCk7CiAgICAgICAgc2VnW2lkeF0gPSBtaW4oc2VnW2lkeCArIDFdLCBzZWdbaWR4ICsgMiAqIChtaWQgLSBsICsgMSldKTsKICAgIH0KICAgIGludCBxdWVyeShpbnQgaWR4LCBpbnQgdGwsIGludCB0ciwgaW50IGwsIGludCByKSB7CiAgICAgICAgaWYgKHRsID09IHRyKSB7CiAgICAgICAgICAgIHJldHVybiB0bDsKICAgICAgICB9CiAgICAgICAgaW50IG1pZCA9ICh0bCArIHRyKSAvIDIsIEwgPSBpZHggKyAxLCBSID0gaWR4ICsgMiAqIChtaWQgLSB0bCArIDEpOwogICAgICAgIGlmIChzZWdbTF0gPD0geCkgcmV0dXJuIHF1ZXJ5KEwsIHRsLCBtaWQsIGwsIHIpOwogICAgICAgIGlmIChzZWdbUl0gPD0geCkgcmV0dXJuIHF1ZXJ5KFIsIG1pZCArIDEsIHRyLCBsLCByKTsKICAgICAgICByZXR1cm4gMWU5ICsgMTsKICAgIH0KfTsKaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgLy8gZnJlb3BlbigiYm94ZXMuaW4iLCAiciIsIHN0ZGluKTsKICAgIGludCB0OwogICAgY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKSB7CiAgICAgICAgaW50IG4sIGssIGEgLCBiOyBjaW4gPj4gbiA+PiBrID4+IGEgPj4gYjsKICAgICAgICB2ZWN0b3I8aW50PiBhcnIobik7CiAgICAgICAgdmVjdG9yPHBhaXI8aW50LCBpbnQ+PiBjKG4pOwogICAgICAgIC0tazsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICAgICBjaW4gPj4gYXJyW2ldOwogICAgICAgICAgICBjW2ldID0ge2FycltpXSwgaX07CiAgICAgICAgfQogICAgICAgIHNvcnQoYy5iZWdpbigpLCBjLmVuZCgpKTsKICAgICAgICBpbnQgdiA9IGFycltrXTsKICAgICAgICB2ZWN0b3I8bGw+IHN1ZmYobiArIDEpLCBzdWZmMihuICsxKTsKICAgICAgICBpbnQgYmVnID0gMDsKICAgICAgICBmb3IgKGludCBpID0gbiAtIDE7IGkgPj0gMDsgaS0tKSB7CgogICAgICAgICAgICBzdWZmW2ldID0gc3VmZltpICsgMV0gKyAoYiArIDIgKiBhYnMoayAtIGNbaV0uc2Vjb25kKSkgKiAoY1tpXS5maXJzdCAtIHYpOwogICAgICAgICAgICBzdWZmMltpXSA9IHN1ZmYyW2kgKyAxXSArIChiICsgMiAqIGFicyhrIC0gY1tpXS5zZWNvbmQpKTsKICAgICAgICAgICAgaWYgKGNbaV0uZmlyc3QgPD0gdikgewogICAgICAgICAgICAgICAgYmVnID0gaTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGxsIGFucyA9IDFlMTgsIHN1bSA9IDA7CiAgICAgICAgZm9yIChpbnQgaSA9IGJlZzsgaSA8IG47IGkrKykgewogICAgICAgICAgICBzdW0gPSBjW2ldLmZpcnN0IC0gdjsKICAgICAgICAgICAgYW5zID0gbWluKGFucywgc3VmZltpXSAtIChzdW0gKiBzdWZmMltpXSkgKyBzdW0gKiBhKTsKICAgICAgICB9CiAgICAgICAgY291dCA8PCBhbnMgPDwgZW5kbDsKICAgIH0KICAgIHJldHVybiAwOwp9Cg==