package main import . "fmt" import . "os" import bf "bufio" // 解説を読んだので解説とおりにやってみる // 修行不足 func main() { rd:=bf.NewReader(Stdin) var n,m,k int Fscan(rd,&n,&m,&k) c := make([]int, n) for i := range c { Fscan(rd,&c[i]) c[i]-- } var ans int = 1e18 costs := make([]int, m) a := make([]int, m) for i := range a { Fscan(rd,&a[i]) costs[i] = a[i]*k ans = min(ans, costs[i]) } for _, v := range c[:k] { costs[v] -= a[v] ans = min(ans, costs[v]) } for i, j := 0, k; j < n; i, j = i+1, j+1 { ci, cj := c[i], c[j] costs[ci] += a[ci] costs[cj] -= a[cj] ans = min(ans, costs[cj]) } Println(ans) }