#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 155;
const int INF = (1 << 29);
int N, K, S;
int val[MAX_N];
int cache[2][MAX_N][MAX_N * MAX_N];
int main() {
  scanf("%d %d %d", &N, &K, &S);
  S = min(S, N * N);
  for (int i = 0; i < N; i++) {
    scanf("%d", &val[i]);
  }
  for (int i = N; i >= 0; i--) {
    int ii = i & 1;
    int o = 1 - ii;
    for (int j = 0; j <= K; j++) {
      for (int k = 0; k <= S; k++) {
        if (i == N) {
          if (j == K) {
            cache[ii][j][k] = 0;
          } else {
            cache[ii][j][k] = INF;
          }
        } else {
          cache[ii][j][k] = cache[o][j][k];
          if (j < K && i - j <= k) {
            cache[ii][j][k] =
                min(cache[ii][j][k], cache[o][j + 1][k - (i - j)] + val[i]);
          }
        }
      }
    }
  }
  printf("%d\n", cache[0][0][S]);
  return 0;
}
