// 問題名: Dinner
// URL: http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2642&lang=jp
// 所要時間: 40分
// --感想--
//「自炊パワーは行動に依らず毎日-1変動することにしたときの幸福度の総和と、実際の幸福度の総和との差」は全体を通して自炊した回数
// のみによって決まることに気づくのにかなり時間を要した。一見するとO(N^2)の動的計画法が浮かぶが、少し考察を練ると割と平易な
// アルゴリズムで高速に求められる良問だった。

#include <bits/stdc++.h>
using namespace std;

int main()
{
    long long n, p, q, c[500010], a[500010];
    cin >> n >> p >> q;
    for (int i = 0; i < n;i++)
        cin >> c[i];
    long long ans = 0;
    // 毎日食堂で食べたときの幸福度の総和を求める
    for (int i = 0; i < n;i++)
        ans += c[i];
    // a[i]:= i日目を食堂から自炊へ切り替えた時の幸福度の変化
    // 自炊パワーは行動に依らず毎日-1されることにする...(@)
    for (int i = 0; i < n; i++)
        a[i] = p * (q - i) - c[i];
    sort(a, a + n);
    reverse(a, a + n);
    long long sum = 0, M = 0;
    // 自炊をi日したときの幸福度の変化の最大値を順次求め、その最大値Mを記録
    // 自炊をk日したとき、(@)のルール変更による幸福度の総和の変化は-k*(k-1)*p
    for (int i = 0; i < n; i++){
        sum += a[i] + i * 2 * p;
        M = max(M, sum);
    }
    ans += M;
    cout << ans << endl;
}
