#include <bits/stdc++.h>
using namespace std;
const long long OO = 1e8;
const long long OOL = 1e16;
const long long MOD = 1e9 + 9;
unsigned long long gcd(unsigned long long a, unsigned long long b) {
  return (b == 0 ? a : gcd(b, a % b));
}
unsigned long long lcm(unsigned long long a, unsigned long long b) {
  return (a * (b / gcd(a, b)));
}
unsigned long long power(unsigned long long a, unsigned long long b) {
  if (b == 0) return 1;
  unsigned long long ans = power(a, b / 2);
  ans *= ans;
  if (b & 1) ans *= a;
  return ans;
}
long long w[100100];
long long lefti[100100];
long long righti[100100];
int main() {
  ios::sync_with_stdio(0);
  long long n, l, r, ql, qr;
  cin >> n >> l >> r >> ql >> qr;
  for (int i = (1); i < (int)(n + 1); ++i) cin >> w[i];
  lefti[0] = 0;
  for (int i = (1); i < (int)(n + 1); ++i) lefti[i] = lefti[i - 1] + w[i] * l;
  righti[n + 1] = 0;
  for (int i = (n); i >= (int)(1); --i) righti[i] = righti[i + 1] + w[i] * r;
  long long ans = OOL;
  for (int i = 0; i < (int)(n + 1); ++i) {
    long long start = i;
    long long end = n - i;
    long long extra = 0;
    if (end > start) extra = (end - start - 1) * qr;
    if (start > end) extra = (start - end - 1) * ql;
    ans = min(ans, lefti[i] + righti[i + 1] + extra);
  }
  cout << ans << endl;
  return 0;
}
