#include #include #include using namespace std; int main() { int n; vector points, persons; std::unordered_map mp; cin >> n; int point, person; for (int i = 0; i < n; i++) { cin >> point; points.push_back(point); } for (int i = 0; i < n; i++) { cin >> person; persons.push_back(person); } for (int i = 0; i < n; i++) { mp[persons[i]] += points[i]; } int top = 0; for (int i = 1; i <= 100; i++) { top = max(top, mp[i]); } if (mp[0] >= top) { cout << "YES" << endl; } else { cout << "NO" << endl; } return 0; }