#include <vector> #include <queue> #include <deque> #include <stack> #include <algorithm> #include <functional> #include <iostream> #include <cstdio> #include <cmath> #include <cstdlib> #include <ctime> #include <cctype> #include <string> #include <map> using namespace std; int main() { int n; cin >> n; int score = 0; int a[n], b[n]; map <int, int> memo; int maxv = 0; for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < n; i++) { cin >> b[i]; } for (int i = 0; i < n; i++) { if (b[i] == 0) { score += a[i]; }else { memo[b[i]] += a[i]; maxv = max(maxv, memo[b[i]]); } } if (score >= maxv) { std::cout << "YES" << std::endl; }else { std::cout << "NO" << std::endl; } }