C. 最大的和

内存限制:256 MiB 时间限制:1000 ms 输入文件: da.in 输出文件: da.out
题目类型:传统 评测方式:文本比较

题目描述

定一个长度为 n 的正整数数列 a_1,a_2,…,a_n

初始时,数列中的每个元素要么处于可选状态,要么处于不可选状态。

你可以选择一个长度恰好为 k 的区间 [i,i+k−1] ,使得 a_i∼a_{i+k−1} k 个元素的状态全部变为可选。

请问,在经过此操作后,所有处于可选状态的元素之和最大是多少。

输入格式

第一行包含两个整数 n 和 k。

第二行包含 n 个整数 a_i

第三行包含一个长度为 n 的 01 序列,如果第 i 个数为 1,表示 a_i 的初始状态为可选,如果第 i 个数为 0,表示 a_i 的初始状态为不可选。

输出格式

一行一个整数,表示答案。

样例

输入样例1:

3 1
2 5 4
0 0 1

输出样例1:

9

输入样例2:

4 3
10 5 4 7
0 1 1 0

输出样例2:

19

数据范围与提示

对于 60% 的数据, 1≤k≤n≤1000

对于 100% 的数据, 1≤k≤n≤10^5,1≤a_i≤10^5