#include <bits/stdc++.h>
using namespace std;
template <class T>
T gcd(T a, T b) {
  return (b != 0 ? gcd<T>(b, a % b) : a);
}
template <class T>
T lcm(T a, T b) {
  return (a / gcd<T>(a, b) * b);
}
int arr[123456];
long long pre[123456];
long long ql, qr, l, r;
long long n;
long long solve() {
  int left, right;
  int i;
  memset(pre, 0, sizeof(pre));
  pre[0] = 0;
  for (i = 1; i < n + 2; i++) pre[i] = pre[i - 1] + arr[i];
  long long fans = (long long)(1e14);
  for (i = 0; i < n + 1; i++) {
    left = i;
    right = n - i;
    long long lo = i;
    long long hi = n - i;
    long long ans = pre[left] * l + (pre[n] - pre[left]) * r;
    if (lo > hi)
      ans += ql * (lo - hi - 1);
    else if (hi > lo)
      ans += qr * (hi - lo - 1);
    fans = min(ans, fans);
  }
  return fans;
}
int main() {
  std::ios::sync_with_stdio(false);
  cin >> n >> l >> r >> ql >> qr;
  int i;
  for (i = 1; i < n + 1; i++) cin >> arr[i];
  cout << solve();
  return 0;
}
