#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:102400000,102400000")
using namespace std;
const int M = 150 + 5, INF = 0x3f3f3f3f, mod = 1e9 + 7;
int A[M];
int dp[M][M * M];
int main() {
  int n, K, s;
  scanf("%d%d%d", &n, &K, &s);
  for (int j = 1; j <= n; j++) scanf("%d", &A[j]);
  memset(dp, 63, sizeof(dp));
  dp[0][0] = 0;
  for (int j = 1; j <= n; j++) {
    for (int k = j - 1; k >= 0; k--) {
      for (int i = 0; i <= j * k; i++) {
        dp[k + 1][i + (j - k - 1)] =
            min(dp[k + 1][i + (j - k - 1)], dp[k][i] + A[j]);
      }
    }
  }
  int ans = INF;
  for (int j = 0; j <= min(n * n, s); j++) {
    ans = min(ans, dp[K][j]);
  }
  printf("%d\n", ans);
  return 0;
}
