#include <bits/stdc++.h>
using namespace std;
const long long MAX = 1e9;
const long long N = 155;
long long n, k, s;
long long a[N];
long long f[2][N][N * N];
int main() {
  scanf("%lld%lld%lld", &n, &k, &s);
  for (long long u = 1; u <= n; u++) scanf("%lld", &a[u]);
  long long op = 0;
  memset(f, 127, sizeof(f));
  for (long long u = 0; u <= min(s, n * n); u++) f[0][0][u] = f[1][0][u] = 0;
  for (long long u = 1; u <= n; u++) {
    op ^= 1;
    for (long long i = 1; i <= u; i++)
      for (long long j = 0; j <= i * u; j++) {
        f[op][i][j] = f[op ^ 1][i][j];
        if (j >= u - i)
          f[op][i][j] = min(f[op][i][j], f[op ^ 1][i - 1][j - (u - i)] + a[u]);
      }
  }
  long long ans = MAX;
  for (long long u = 0; u <= min(s, n * n); u++) ans = min(ans, f[op][k][u]);
  printf("%lld\n", ans);
  return 0;
}
