#include <bits/stdc++.h>
int main() {
  long m, l, z, ql, qz;
  scanf("%ld %ld %ld %ld %ld\n", &m, &l, &z, &ql, &qz);
  std::vector<int> vazn(m + 1, 0);
  std::vector<int> chj(m + 1, 0);
  std::vector<int> raj(m + 1, 0);
  for (long d = 1; d <= m; d++) {
    scanf("%d\n", &vazn[d]);
  }
  for (long a = 1; a <= m; a++) {
    chj[a] = chj[a - 1] + vazn[a];
  }
  for (long b = 1; b <= m; b++) {
    raj[b] = raj[b - 1] + vazn[m - b + 1];
  }
  long long tot = 1e18;
  for (long p = 0; p <= m; p++) {
    long long test = l * chj[p] + z * raj[m - p];
    if (2 * p < m) {
      test += qz * (m - 2 * p - 1);
    } else if (2 * p > m) {
      test += ql * (2 * p - m - 1);
    }
    if (test < tot) {
      tot = test;
    }
  }
  printf("%lld\n", tot);
  return 0;
}
