#include <bits/stdc++.h>
using namespace std;
bool cmp_pair_F_2(pair<int, int> x, pair<int, int> y) {
  return x.first > y.first;
}
bool cmp_pair_S_2(pair<int, int> x, pair<int, int> y) {
  return x.second > y.second;
}
bool cmp_pair_S_1(pair<int, int> x, pair<int, int> y) {
  return x.second < y.second;
}
bool cmp(int x, int y) { return x > y; }
const int N = 152, M = (N * (N - 1)) / 2;
int dp[N][M];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int n, k, s;
  cin >> n >> k >> s;
  (s) = min((s), (n * (n - 1) / 2));
  for (int i = 0; i < N; i++)
    for (int j = 0; j < M; j++) dp[i][j] = 1e9;
  for (int i = 0; i < n; i++) {
    int x;
    cin >> x;
    if (!i)
      dp[0][0] = x;
    else {
      dp[i][0] = dp[i - 1][0] + x;
      for (int j = i; ~j; j--)
        for (int t = 0; t <= s; t++) {
          if (!j)
            (dp[j][i]) = min((dp[j][i]), (x));
          else if (t >= i - j && dp[j - 1][t - (i - j)] != 1e9)
            (dp[j][t]) = min((dp[j][t]), (dp[j - 1][t - (i - j)] + x));
        }
    }
  }
  int c = 1e9;
  for (int i = 0; i <= s; i++) (c) = min((c), (dp[k - 1][i]));
  cout << c;
  return 0;
}
