#include <bits/stdc++.h>
using namespace std;
const long long N = 155, inf = 1e15;
long long n, z, s, q[N];
long long F[3][N][2 * N * N];
void mnm(long long& A, long long B) { A = min(A, B); }
signed main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> n >> z >> s;
  for (long long i = 1; i <= n; ++i) cin >> q[i];
  s = min(s, n * (n - 1) / 2);
  s += (z * (z + 1) / 2);
  for (long long j = 0; j <= z; ++j)
    for (long long k = 0; k <= s; ++k) F[0][j][k] = inf;
  F[0][0][0] = 0;
  for (long long i = 1; i <= n; ++i) {
    long long cur = (i % 2), pre = (i - 1) % 2;
    for (long long j = 0; j <= z; ++j)
      for (long long k = 0; k <= s; ++k) F[cur][j][k] = inf;
    for (long long j = 0; j <= z; ++j)
      for (long long k = 0; k <= s; ++k) {
        mnm(F[cur][j][k], F[pre][j][k]);
        if (k - i >= 0 && j - 1 >= 0)
          mnm(F[cur][j][k], F[pre][j - 1][k - i] + q[i]);
      }
  }
  long long ans = inf;
  for (long long i = 0; i <= s; ++i) mnm(ans, F[n % 2][z][i]);
  cout << ans;
}
