// 1番に解いた人にしかスコアが加算されない // kはまだ誰も解いていない問題なら一瞬で解ける // kが優勝(同率でも)できるなら'YES'、できないなら'NO' #include int main(void){ int N; int a[100]; // score int b[100]; // person answered int ans[100] = {0}; // score per person scanf("%d",&N); for(int i = 0; i < N; i++){ scanf("%d",&a[i]); } for(int j = 0; j < N; j++){ scanf("%d",&b[j]); } /* for(int k = 0; k < N; k++){ // check ok printf("%d ",b[k]); } printf("\n"); */ for(int l = 0; l < N; l++){ ans[b[l]] += a[l]; } /* for(int m = 0; m < N; m++){ // check ok printf("%d ",ans[m]); } printf("\n"); */ for(int n = 1; n < N; n++){ if(ans[0] < ans[n]){ printf("NO\n"); return 0; } } printf("YES\n"); return 0; }