CF353C Find Maximum
题目描述
Valera 有一个 $n$ 个数的 **非负整数** 数组 $a$ ,其元素分别为 $a_0,a_1,\cdots,a_{n-1}$。同时有一个函数 $f(x)=\sum_{i=0}^{n-1}a_i\cdot bit(i)$,$bit(i)$ 指的是数字 $x$ 在二进制中第 $i$ 位的值是否为 1。
举个例子,当 $n=4,x=11(11=2^0+2^1+2^3)$ 时,$f(x)=a_0+a_1+a_3$。
对于所有 $0\le x \le m$ 的整数 $x$ ,请求出 $f(x)$ 的最大值。
输入格式
第一行,输入 $n$ 。
接下来一行,输入数组 $a$ 。
最后一行输入一个由 $n$ 个数组成的数字序列 $s$ ,$s$ 即为 $m$ 的二进制翻转后的数字序列。( 也就是 $m=\sum_{i=0}^{n-1}2^i\cdot s_i$ )数字与数字之间没有空格。
输出格式
一行一个整数,表示 $f(x)$ 的最大值。
说明/提示
- $1 \le n \le 10^5$
- $0 \le a_i \le 10^4$
- $0\le s_i \le 1$