#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<bool> vb;
typedef vector<vb> vvb;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<ll> vl;
typedef vector<vl> vvl;
typedef vector<char> vc;
typedef vector<vc> vvc ;
typedef vector<string> vs;
typedef vector<pair<ll, ll> > vp;
typedef pair<ll, ll> pl;
#define endl "\n"
#define pb push_back
#define F first
#define S second
#define all(v) v.begin(), v.end()
#define rall(v) v.rbegin(), v.rend()
#define sz(a) int(a.size())
const ll mod = 1e9+7;
ll n;
ll x, r, d, aux;
vl vPref(3e5, 0), dp(3e5, -1);
ll f(ll i){
if(i>=n)
return 0;
if(dp[i]!=-1)
return dp[i];
dp[i] = x + f(i+1);
if(i+d<=n)
dp[i] = min(dp[i], r + x*(vPref[i+d]-vPref[i]) + f(i+d));
return dp[i];
}
void solve(){
vl v;
cin >> n >> x >> r >> d;
for(ll i=0; i<n; i++){
cin >> aux;
v.pb(aux);
}
for(ll i=1; i<=n; i++){
vPref[i]=vPref[i-1]+(v[i-1]==0);
}
cout << f(0) << endl;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int tt=1;
// cin >> tt;
while(tt--){
solve();
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgdmVjdG9yPGJvb2w+IHZiOwp0eXBlZGVmIHZlY3Rvcjx2Yj4gdnZiOwp0eXBlZGVmIHZlY3RvcjxpbnQ+IHZpOwp0eXBlZGVmIHZlY3Rvcjx2aT4gdnZpOwp0eXBlZGVmIHZlY3RvcjxsbD4gdmw7CnR5cGVkZWYgdmVjdG9yPHZsPiB2dmw7CnR5cGVkZWYgdmVjdG9yPGNoYXI+IHZjOwp0eXBlZGVmIHZlY3Rvcjx2Yz4gdnZjIDsKdHlwZWRlZiB2ZWN0b3I8c3RyaW5nPiB2czsKdHlwZWRlZiB2ZWN0b3I8cGFpcjxsbCwgbGw+ID4gdnA7CnR5cGVkZWYgcGFpcjxsbCwgbGw+IHBsOwogCiNkZWZpbmUgZW5kbCAiXG4iCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgRiBmaXJzdAojZGVmaW5lIFMgc2Vjb25kCiNkZWZpbmUgYWxsKHYpIHYuYmVnaW4oKSwgdi5lbmQoKQojZGVmaW5lIHJhbGwodikgdi5yYmVnaW4oKSwgdi5yZW5kKCkKI2RlZmluZSBzeihhKSBpbnQoYS5zaXplKCkpCmNvbnN0IGxsIG1vZCA9IDFlOSs3OwoKbGwgbjsKbGwgeCwgciwgZCwgYXV4Owp2bCB2UHJlZigzZTUsIDApLCBkcCgzZTUsIC0xKTsKCmxsIGYobGwgaSl7CglpZihpPj1uKQoJCXJldHVybiAwOwoJCglpZihkcFtpXSE9LTEpCgkJcmV0dXJuIGRwW2ldOwoJCgkKCWRwW2ldID0geCArIGYoaSsxKTsKCQoJaWYoaStkPD1uKQoJCWRwW2ldID0gbWluKGRwW2ldLCByICsgeCoodlByZWZbaStkXS12UHJlZltpXSkgKyBmKGkrZCkpOwoJCgkKCXJldHVybiBkcFtpXTsKfQoKdm9pZCBzb2x2ZSgpewoJdmwgdjsKCWNpbiA+PiBuID4+IHggPj4gciA+PiBkOwoJCglmb3IobGwgaT0wOyBpPG47IGkrKyl7CgkJY2luID4+IGF1eDsKCQl2LnBiKGF1eCk7Cgl9CgkKCWZvcihsbCBpPTE7IGk8PW47IGkrKyl7CgkJdlByZWZbaV09dlByZWZbaS0xXSsodltpLTFdPT0wKTsKCX0KCQoJY291dCA8PCBmKDApIDw8IGVuZGw7Cn0KCmludCBtYWluKCl7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgCiAgICBpbnQgdHQ9MTsgCgogICAgLy8gY2luID4+IHR0OwoKICAgIHdoaWxlKHR0LS0pewogICAgICAgIHNvbHZlKCk7CiAgICB9Cn0=