#include "bits/stdc++.h"
using namespace std;
const int N = 1e3 + 3;
const long long inf = 1e18;
int a , b , d;
int c[N];
long long dp[N][N][2];
long long solve(int pos , int buk , bool bucket_being_moved){
if(pos > a){
return 0;
}
if(buk > a){
return inf;
}
if(dp[pos][buk][bucket_being_moved] != -1){
return dp[pos][buk][bucket_being_moved];
}
long long ret = inf;
if(!bucket_being_moved){
ret = min(ret , solve(pos + 1 , buk , 0) + 1LL * b * (abs(buk - pos) * (1LL + (pos < a))));
ret = min(ret , solve(pos , buk + 1 , 1) + d + c[a - pos + 1]);
}
if(bucket_being_moved){
ret = min(ret , solve(pos , buk + 1 , bucket_being_moved) + c[a - pos + 1]);
ret = min(ret , solve(pos , buk , 0));
}
return dp[pos][buk][bucket_being_moved] = ret;
}
int main(){
cin >> a >> b >> d;
for(int i = 0 ; i <= a ; ++i){
cin >> c[i];
}
memset(dp , -1 , sizeof(dp));
cout << solve(1 , 0 , 0);
}
I2luY2x1ZGUgImJpdHMvc3RkYysrLmgiCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBOID0gMWUzICsgMzsKY29uc3QgbG9uZyBsb25nIGluZiA9IDFlMTg7CmludCBhICwgYiAsIGQ7CmludCBjW05dOwpsb25nIGxvbmcgZHBbTl1bTl1bMl07CmxvbmcgbG9uZyBzb2x2ZShpbnQgcG9zICwgaW50IGJ1ayAsIGJvb2wgYnVja2V0X2JlaW5nX21vdmVkKXsKICAgIGlmKHBvcyA+IGEpewogICAgICAgIHJldHVybiAwOwogICAgfQogICAgaWYoYnVrID4gYSl7CiAgICAgICAgcmV0dXJuIGluZjsKICAgIH0KICAgIGlmKGRwW3Bvc11bYnVrXVtidWNrZXRfYmVpbmdfbW92ZWRdICE9IC0xKXsKICAgICAgICByZXR1cm4gZHBbcG9zXVtidWtdW2J1Y2tldF9iZWluZ19tb3ZlZF07CiAgICB9CiAgICBsb25nIGxvbmcgcmV0ID0gaW5mOwogICAgaWYoIWJ1Y2tldF9iZWluZ19tb3ZlZCl7CiAgICAgICAgcmV0ID0gbWluKHJldCAsIHNvbHZlKHBvcyArIDEgLCBidWsgLCAwKSArIDFMTCAqIGIgKiAoYWJzKGJ1ayAtIHBvcykgKiAoMUxMICsgKHBvcyA8IGEpKSkpOwogICAgICAgIHJldCA9IG1pbihyZXQgLCBzb2x2ZShwb3MgLCBidWsgKyAxICwgMSkgKyBkICsgY1thIC0gcG9zICsgMV0pOwogICAgfQogICAgaWYoYnVja2V0X2JlaW5nX21vdmVkKXsKICAgICAgICByZXQgPSBtaW4ocmV0ICwgc29sdmUocG9zICwgYnVrICsgMSAsIGJ1Y2tldF9iZWluZ19tb3ZlZCkgKyBjW2EgLSBwb3MgKyAxXSk7CiAgICAgICAgcmV0ID0gbWluKHJldCAsIHNvbHZlKHBvcyAsIGJ1ayAsIDApKTsKICAgIH0KICAgIHJldHVybiBkcFtwb3NdW2J1a11bYnVja2V0X2JlaW5nX21vdmVkXSA9IHJldDsKfQppbnQgbWFpbigpewogICAgY2luID4+IGEgPj4gYiA+PiBkOwogICAgZm9yKGludCBpID0gMCA7IGkgPD0gYSA7ICsraSl7CiAgICAgICAgY2luID4+IGNbaV07CiAgICB9CiAgICBtZW1zZXQoZHAgLCAtMSAsIHNpemVvZihkcCkpOwogICAgY291dCA8PCBzb2x2ZSgxICwgMCAsIDApOwp9