A15382 | Save the Magazines
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Monocarp has been collecting rare magazines for quite a while, and now he has decided to sell them. He distributed the magazines between $n$ boxes, arranged in a row. The $i$ -th box contains $a_i$ magazines. Some of the boxes are covered with lids, others are not.
Suddenly it started to rain, and now Monocarp has to save as many magazines from the rain as possible. To do this, he can move the lids between boxes as follows: if the $i$ -th box was covered with a lid initially, he can either move the lid from the $i$ -th box to the box $(i-1)$ (if it exists), or keep the lid on the $i$ -th box. You may assume that Monocarp can move the lids instantly at the same moment, and no lid can be moved more than once. If a box will be covered with a lid after Monocarp moves the lids, the magazines in it will be safe from the rain; otherwise they will soak.
You have to calculate the maximum number of magazines Monocarp can save from the rain.
Suddenly it started to rain, and now Monocarp has to save as many magazines from the rain as possible. To do this, he can move the lids between boxes as follows: if the $i$ -th box was covered with a lid initially, he can either move the lid from the $i$ -th box to the box $(i-1)$ (if it exists), or keep the lid on the $i$ -th box. You may assume that Monocarp can move the lids instantly at the same moment, and no lid can be moved more than once. If a box will be covered with a lid after Monocarp moves the lids, the magazines in it will be safe from the rain; otherwise they will soak.
You have to calculate the maximum number of magazines Monocarp can save from the rain.
输入格式
The first line contains a single integer $t$ ( $1 \le t \le 10^4$ ) — the number of the testcases.
The first line of each testcase contains a single integer $n$ ( $1 \le n \le 2 \cdot 10^5$ ) — the number of boxes.
The second line contains a string of $n$ characters 0 and/or 1. If the $i$ -th character is 1, the $i$ -th box is initially covered with a lid. If the $i$ -th character is 0, the $i$ -th box is initially not covered.
The third line contains a sequence of integers $a_1, a_2, \dots, a_n$ ( $1 \le a_i \le 10^4$ ), where $a_i$ is the number of magazines in the $i$ -th box.
The sum of $n$ over all testcases doesn't exceed $2 \cdot 10^5$ .
The first line of each testcase contains a single integer $n$ ( $1 \le n \le 2 \cdot 10^5$ ) — the number of boxes.
The second line contains a string of $n$ characters 0 and/or 1. If the $i$ -th character is 1, the $i$ -th box is initially covered with a lid. If the $i$ -th character is 0, the $i$ -th box is initially not covered.
The third line contains a sequence of integers $a_1, a_2, \dots, a_n$ ( $1 \le a_i \le 10^4$ ), where $a_i$ is the number of magazines in the $i$ -th box.
The sum of $n$ over all testcases doesn't exceed $2 \cdot 10^5$ .
输出格式
For each testcase, print one integer — the maximum number of magazines Monocarp can save from the rain.
输入输出样例
输入 #1
4 5 01110 10 5 8 9 6 6 011011 20 10 9 30 20 19 4 0000 100 100 100 100 4 0111 5 4 5 1
输出 #1
27 80 0 14
In the first testcase of the example, Monocarp can move the lid from the second box to the first box, so the boxes $1$ , $3$ and $4$ are covered, and $10 + 8 + 9 = 27$ magazines are saved.
In the second testcase, Monocarp can move the lid from the second box to the first box, then from the third box to the second box, then from the fifth box to the fourth box, and then from the sixth box to the fifth box. The boxes $1$ , $2$ , $4$ and $5$ will be covered, so $20 + 10 + 30 + 20 = 80$ magazines can be saved.
There are no lids in the third testcase, so it's impossible to save even a single magazine.
In the second testcase, Monocarp can move the lid from the second box to the first box, then from the third box to the second box, then from the fifth box to the fourth box, and then from the sixth box to the fifth box. The boxes $1$ , $2$ , $4$ and $5$ will be covered, so $20 + 10 + 30 + 20 = 80$ magazines can be saved.
There are no lids in the third testcase, so it's impossible to save even a single magazine.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted