#include #include using namespace std; using namespace atcoder; using ll = long long; using ld = long double; using mint = modint998244353; int N, M, K; int C[202020], A[202020]; ll cost[202020]; int main() { cin >> N >> M >> K; for (int i = 1; i <= N; i++) cin >> C[i]; for (int i = 1; i <= M; i++) cin >> A[i]; for (int i = 1; i <= M; i++) cost[i] = (ll)A[i] * K; for (int i = 1; i <= K; i++) cost[C[i]] -= A[C[i]]; ll mn = *min_element(cost + 1, cost + M + 1); for (int i = 1; i <= N - K; i++) { cost[C[i]] += A[C[i]]; cost[C[i + K]] -= A[C[i + K]]; mn = min(mn, cost[C[i + K]]); } cout << mn << endl; return 0; }