package main import "fmt" func main() { var N, cg int fmt.Scan(&N) a1 := make([]int, N) a2 := make([]int, N) m := make(map[int]int, N) for i := 0; i < N; i++ { fmt.Scan(&a1[i]) } for i := 0; i < N; i++ { fmt.Scan(&a2[i]) } for i := 0; i < N; i++ { if a2[i] == 0 { cg += a1[i] } else { m[a2[i]] += a1[i] } } for _, v := range m { if v > cg { fmt.Println("NO") return } } fmt.Println("YES") }