// 我们可以枚举从前面和从后面操作相交的位置
// 在 i 位置相交,前面有 i 个数 后面有 n-i 个数
// 为求最优 我们得花费额外 ql*(left-right-1) ; 或者 qr*(right-left-1) ;
#include<iostream>
#include<cstdio>
using namespace std ;
const int maxn = 100002 ;
int ans[maxn] , a[maxn] ;
int min( int a , int b ){ return a < b ? a : b ;}
int maivn()
{
int i , minv , n , left , right ;
int l , r , ql , qr ,cost ;
// freopen("in.txt","r",stdin) ;
while( cin >> n >> l >> r >> ql >> qr )
{
for( i = 1 ; i <= n ;i++ )
scanf("%d" , &a[i]) ;
ans[0] = ans[n+1] = 0 ;
minv = 2000000000 ;
for( i = 1 ; i <= n ;i++ )
ans[i] = ans[i-1]+a[i] ;
for( i = 0 ; i <= n ;i++ )
{
cost = l*ans[i]+r*(ans[n]-ans[i]) ;
right = n-i ; left = i ;
if( left > right )
{
cost += ql*(left-right-1) ;
}
else if(right > left )
{
cost += qr*(right-left-1) ;
}
minv = min(minv,cost) ;
}
cout << minv << endl ;
}
}