#include <bits/stdc++.h>
using namespace std;
long long l, r, ql, qr;
long long get(vector<long long> &v, bool flag, long long sum) {
  long long i, cost = 0, n = (int)v.size(), present = 0;
  if (flag) {
    cost = sum * l + (n - 1) * ql;
  } else {
    cost = sum * r + (n - 1) * qr;
  }
  present = 0;
  for (i = 0; i < n; i++) {
    if (flag ^ (i & 1) == 1) {
      present += r * v[n - (i / 2) - 1];
      sum -= v[n - (i / 2) - 1];
      cost = min(cost, sum * r + (n - i - 1) * qr + present);
    } else {
      present += l * v[i / 2];
      sum -= v[i / 2];
      cost = min(cost, sum * l + (n - i - 1) * ql + present);
    }
  }
  return cost;
}
int main() {
  long long i, j, n, sum = 0;
  cin >> n >> l >> r >> ql >> qr;
  vector<long long> v;
  for (i = 0; i < n; i++) {
    cin >> j;
    sum += j;
    v.push_back(j);
  }
  cout << min(get(v, true, sum), get(v, false, sum)) << endl;
  return 0;
}
