#include using namespace std; using ll = long long; bool chmax(auto &a, auto b) { return a < b ? a = b, 1 : 0; } bool chmin(auto &a, auto b) { return a > b ? a = b, 1 : 0; } int main() { cin.tie(nullptr); ios::sync_with_stdio(false); ll N, K, X; cin >> N >> K >> X; vector A(N); for (auto &&a : A) cin >> a; ll ans = -1LL << 60; multiset high; ll sum = 0; for (int i = 0; i < K; ++i) { high.insert(A[i]); sum += A[i]; chmax(ans, sum - X * (i + 1)); } for (int i = K; i < N; ++i) { if (A[i] > *high.begin()) { sum -= *high.begin(); high.erase(high.begin()); sum += A[i]; high.insert(A[i]); } chmax(ans, sum - X * (i + 1)); } cout << ans << '\n'; }