#J10027. 高桥机器人

高桥机器人

问题描述

NN 个人,每个人要么是小孩,要么是大人。第 ii 个人的体重为 WiW_i

给定一个长度为 NN 的字符串 SS,若 SS 的第 ii 个字符为 0,则第 ii 个人为小孩;若 SS 的第 ii 个字符为 1,第 ii 个人为大人。

高桥君认为,如果一个人体重小于 XX,则他是小孩;如果一个人体重大于等于 XX,则他是大人。

请选择合适的实数 XX,使得高桥君判断正确的人数最大。输出这个最大值。

输入格式

第一行 NN

第二行字符串 SS

第三行 NN 个整数 W1,,WNW_1, \ldots, W_N

输出格式

一个整数,表示判断正确的最大人数。

样例输入 1

5
10101
60 45 30 40 80

样例输出 1

4

说明:令 X=50X=50,判定第 2,3,42,3,4 为小孩(W<50W < 50),其他人大人(W50W \ge 50)。实际第 2,42,4 是小孩。判断正确 1,2,4,51,2,4,544 人。

样例输入 2

3
000
1 2 3

样例输出 2

3

说明:令 X=10X=10,三人体重均 <10< 10,判定为小孩,与 S=000S=000 一致,全对。

样例输入 3

5
10101
60 50 50 50 60

样例输出 3

4

评测数据规模

  • 1N2×1051 \le N \le 2 \times 10^5

  • SS 长度为 NN,仅含 01

  • 1Wi1091 \le W_i \le 10^9