#include <bits/stdc++.h>
using namespace std;
long long n, K, s, ans = 1e18, a[200], f[2][200][22510];
inline long long read() {
  long long x = 0, f = 1;
  char c = getchar();
  while (c < '0' || c > '9') {
    if (c == '-') f = -1;
    c = getchar();
  }
  while (c >= '0' && c <= '9') {
    x = (x << 3) + (x << 1) + (c ^ '0');
    c = getchar();
  }
  return x * f;
}
int main() {
  n = read();
  K = read();
  s = read();
  for (int i = 1; i <= n; i++) a[i] = read();
  memset(f, 0x3f, sizeof(f));
  f[0][0][0] = 0;
  for (int i = 1; i <= n; i++) {
    memset(f[i % 2][0], 0, sizeof(f[i % 2][0]));
    for (int j = 1; j <= i; j++)
      for (int k = 0; k <= i * j; k++) {
        f[i % 2][j][k] = f[(i - 1) % 2][j][k];
        if (k >= i - j)
          f[i % 2][j][k] =
              min(f[i % 2][j][k], f[(i - 1) % 2][j - 1][k - (i - j)] + a[i]);
      }
  }
  for (int k = 0; k <= min(s, n * (n - 1) / 2); k++)
    ans = min(f[n % 2][K][k], ans);
  printf("%lld", ans);
  return 0;
}
