import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; import java.util.TreeSet; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int K = sc.nextInt(); int X = sc.nextInt(); long sum = 0; long sum1 = 0; int[] A = new int[N + 1]; TreeSet set = new TreeSet<>(); List answerList = new ArrayList<>(); for(int i = 1; i <= N; i++) { A[i] = sc.nextInt(); set.add(A[i]); sum1 = sum1 + A[i]; if(set.size() <= K) { // sum = sum + A[i] - X * i; sum = sum1 - X * i; }else { int first = set.pollFirst(); sum1 = sum1 - first; sum = sum1 - X * i; // sum = sum + A[i] - first - X * i; } // System.out.println(set); answerList.add(sum); // System.out.println(sum); } Collections.sort(answerList); System.out.println(answerList.get(answerList.size() - 1)); } }