#include <bits/stdc++.h>
using namespace std;
inline int toInt(string s) {
  int v;
  istringstream sin(s);
  sin >> v;
  return v;
}
template <class T>
inline string toString(T x) {
  ostringstream sout;
  sout << x;
  return sout.str();
}
template <class T>
inline T sqr(T x) {
  return x * x;
}
const double EPS = 1e-10;
const double PI = acos(-1.0);
const int dx[] = {-1, 1, 0, 0};
const int dy[] = {0, 0, 1, -1};
int n, l, r, ret = INT_MAX, ql, qr;
int w[100010], s;
int rw[100010];
int main() {
  cin >> n >> l >> r >> ql >> qr;
  for (int i = (0); i < (n); ++i) {
    cin >> w[i];
    s += w[i];
    rw[i + 1] = rw[i] + w[i];
  }
  for (int i = 0; i <= n; ++i) {
    int tmp = l * rw[i] + r * (s - rw[i]);
    int le = i, re;
    re = n - le;
    if (le < re)
      tmp += qr * (re - le - 1);
    else if (le > re)
      tmp += ql * (le - re - 1);
    ret = min(ret, tmp);
  }
  cout << ret << endl;
  return 0;
}
