#include <bits/stdc++.h>
using namespace std;
vector<int> tmp;
int n, k, s, A[155];
int dp[2][152][22500];
int main() {
  scanf("%d %d %d", &n, &k, &s);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &A[i]);
    tmp.push_back(A[i]);
  }
  if (s > n * (n - 1) / 2) {
    sort(tmp.begin(), tmp.end());
    int sum = 0;
    for (int i = 0; i < k; i++) {
      sum += tmp[i];
    }
    printf("%d", sum);
    return 0;
  }
  for (int i = 0; i <= 1; i++)
    for (int j = 0; j <= k; j++)
      for (int ii = 0; ii <= n * (n + 1) / 2; ii++) dp[i][j][ii] = 1e9;
  dp[0][0][0] = 0;
  for (int i = 1; i <= n; i++) {
    int now = (i & 1);
    for (int j = 0; j <= k; j++) {
      for (int idxsum = 0; idxsum <= n * (n + 1) / 2; idxsum++) {
        dp[now][j][idxsum] = dp[!now][j][idxsum];
        if (idxsum >= i && j >= 1)
          dp[now][j][idxsum] =
              min(dp[now][j][idxsum], dp[!now][j - 1][idxsum - i] + A[i]);
      }
    }
  }
  int ans = 1e9;
  for (int j = k * (k + 1) / 2; j <= n * (n + 1) / 2; j++)
    if (j - (k * (k + 1) / 2) <= s) ans = min(ans, dp[n & 1][k][j]);
  printf("%d", ans);
}
