#include <bits/stdc++.h>
using namespace std;
const int N = 151, INF = 0x3f3f3f3f;
int dp[2][N * N][N], arr[N];
int main() {
  int n, m, s;
  cin >> n >> m >> s;
  s = min(s, 150 * 150);
  for (int i = 1; i <= n; i++) {
    cin >> arr[i];
  }
  for (int i = 0; i <= s; i++) {
    for (int j = 1; j <= m; j++) {
      dp[0][i][j] = INF;
    }
  }
  int t = 1;
  for (int i = n; i > 0; i--) {
    for (int j = s; j >= 0; j--) {
      for (int k = m; k > 0; k--) {
        dp[t][j][k] = dp[t ^ 1][j][k];
        if (j >= i - (m - k + 1))
          dp[t][j][k] = min(dp[t][j][k],
                            arr[i] + dp[t ^ 1][j - (i - (m - k + 1))][k - 1]);
      }
    }
    t ^= 1;
  }
  cout << dp[t ^ 1][s][m] << endl;
}
