#include <bits/stdc++.h>
using namespace std;
inline int in() {
  int x;
  scanf("%d", &x);
  return x;
}
const int N = 151, inf = 1e9 + 7;
int dp[2][N][N * N], a[N];
int32_t main() {
  int n = in(), k = in(), s = min(n * (n - 1) / 2, in() + (k * (k - 1) / 2));
  memset(dp, 63, sizeof dp);
  for (int i = 0; i < n; i++) a[i] = in();
  dp[1][0][0] = 0;
  for (int i = 0; i < n; i++)
    for (int j = 0; j <= k; j++)
      for (int l = 0; l <= s; l++) {
        dp[i & 1][j][l] = inf;
        dp[i & 1][j][l] =
            min(min(l ? dp[i & 1][j][l - 1] : inf, dp[i & 1 ^ 1][j][l]),
                (l >= i && j) ? dp[i & 1 ^ 1][j - 1][l - i] + a[i] : inf);
      }
  printf("%d", dp[(n - 1) & 1][k][s]);
}
