package main import ( "fmt" ) func main() { var n int fmt.Scanf("%d", &n) as := make([]int, n) bs := make([]int, n) for i := 0; i < n; i++ { fmt.Scanf("%d", &as[i]) } for i := 0; i < n; i++ { fmt.Scanf("%d", &bs[i]) } score := 0 // 誰にも解かれていない問題のスコア合計 d := make(map[int]int) // <人, 得点> for i := 0; i < n; i++ { if bs[i] == 0 { score += as[i] } else { d[bs[i]] += as[i] } } win := true for _, v := range d { if v > score { win = false break } } if win { fmt.Println("YES") } else { fmt.Println("NO") } }