#include #include #include #include #include #include #include #include #include using namespace std; #define REP(i, j) for (int i = 0; i < (int)j; ++i) #define FOR(i, j, k) for (int i = (int)j; i < (int)k; ++i) #define SORT(v) sort(v.begin(), v.end()) #define REVERSE(v) reverse(v.begin(), v.end()) typedef complex P; typedef vector VI; typedef long long LL; typedef pair PII; int main() { cin.tie(0); ios::sync_with_stdio(false); int n; cin >> n; VI score; REP(i,n) { int a; cin >> a; score.push_back(a); } VI solvers(100,0); int ksum = 0; REP(i,n) { int b; cin >> b; if (b == 0) ksum += score[i]; else solvers[b] += score[i]; } SORT(solvers); int m = solvers.back(); cout << (ksum >= m ? "YES" : "NO") << endl; return 0; }