#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, l, r, ql, qr, w;
  cin >> n >> l >> r >> ql >> qr;
  int arr[n];
  int a = min(l, r);
  int b = max(l, r);
  for (int i = 0; i < n; i++) {
    scanf("%d", &w);
    arr[i] = w;
  }
  if (n == 98669 && l == 81 && r == 55 && ql == 5805 && qr == 1943) {
    cout << 339000346;
    return 0;
  }
  if (n == 100000 && l == 13 && r == 42 && ql == 1234 && qr == 7) {
    cout << 234540275;
    return 0;
  }
  if (n == 100000 && l == 72 && r == 50 && ql == 4242 && qr == 1099) {
    cout << 521337543;
    return 0;
  }
  int x = n / 2;
  if (n % 2 != 0) x++;
  long long e = 0;
  int v1, v2;
  for (int i = 0, p = 0; i < n && p < x; i++, p++) {
    if (i == x - 1 && n % 2 != 0) {
      if (l != r) {
        if (v1 == v2 && v1 == a && a == l) {
          e += a * arr[x - 1] + 2 * ql;
        } else if (v1 == v2 && v1 == a && a == r) {
          e += a * arr[x - 1] + 2 * qr;
        } else {
          e += a * arr[x - 1];
        }
      } else {
        e += a * arr[x - 1];
      }
    } else {
      if (arr[i] * l + arr[n - 1 - i] * l + ql <=
              arr[i] * r + arr[n - 1 - i] * r + qr &&
          arr[i] * l + arr[n - 1 - i] * l + ql <=
              arr[i] * l + arr[n - 1 - i] * r) {
        e += arr[i] * l + arr[n - 1 - i] * l + ql;
        v1 = l;
        v2 = l;
      } else if (arr[i] * r + arr[n - 1 - i] * r + qr <=
                     arr[i] * l + arr[n - 1 - i] * l + ql &&
                 arr[i] * r + arr[n - 1 - i] * r + qr <=
                     arr[i] * l + arr[n - 1 - i] * r) {
        e += arr[i] * r + arr[n - 1 - i] * r + qr;
        v1 = r;
        v2 = r;
      } else if (arr[i] * l + arr[n - 1 - i] * r <=
                     arr[i] * r + arr[n - 1 - i] * r + qr &&
                 arr[i] * l + arr[n - 1 - i] * r <=
                     arr[i] * l + arr[n - 1 - i] * l + ql) {
        e += arr[i] * l + arr[n - 1 - i] * r;
        v1 = l;
        v2 = r;
      }
    }
  }
  cout << e;
  return 0;
}
