#include<bits/stdc++.h> #define SINGLE_INPUT #define ll long long #define ull unsigned long long #define N 500005 #define MOD 998244353 #define INF 0x3f3f3f3f usingnamespace std;
voidsol(){ int n, s, k; cin >> n >> s >> k; s--; vector<int> r(n); for (auto& i : r) cin >> i; string c; cin >> c; vector<vector<int>> f(n, vector<int>(k + 51, INF)); for (int i = 0; i < n; i++) { f[i][r[i]] = abs(i - s); } for (int j = 0; j <= k; j++) { for (int i = 0; i < n; i++) { for (int z = 0; z < n; z++) { if (c[i] == c[z] || r[i] >= r[z]) continue; f[z][j + r[z]] = min(f[z][j + r[z]], f[i][j] + abs(i - z)); } } } int ans = INF; for (int i = 0; i < n; i++) { for (int j = 0; j <= 50; j++) { ans = min(ans, f[i][j + k]); } } // for (int i = 0; i < n; i++) { // for (int j = 0; j <= k; j++) { // cout << i << " " << j << " " << f[i][j] << "\n"; // } // } if (ans == INF) cout << "-1\n"; else cout << ans << "\n"; }