#include #include using namespace std; int main() { cin.tie(nullptr); ios::sync_with_stdio(false); int N, M, K, i; cin >> N >> M >> K; vector C(N), A(M); vector cost_sum(M); for (i = 0; i != N; ++i) cin >> C[i], --C[i]; for (i = 0; i != M; ++i) cin >> A[i], cost_sum[i] = static_cast(A[i]) * K; for (i = 0; i != K; ++i) cost_sum[C[i]] -= A[C[i]]; long long min = cost_sum[0]; for (i = 1; i != M; ++i) if (cost_sum[i] < min) min = cost_sum[i]; for (i = K; i != N; ++i) { cost_sum[C[i - K]] += A[C[i - K]], cost_sum[C[i]] -= A[C[i]]; if (cost_sum[C[i]] < min) min = cost_sum[C[i]]; } cout << min << '\n'; return 0; }