问题7080--小豫豫做胡辣汤

7080: 小豫豫做胡辣汤

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 256 MiB

题目描述

【题目描述】 

众所周知,胡辣汤是传统的河南早餐餐品。借着旅行的机会,小豫豫决定学习一下胡辣汤的做法。

一份好喝的胡辣汤必然包含丰富的食材。除去制作工艺有趣的面筋,还有黄花菜、木耳等等。出于成本考虑,小豫豫只准备了 n 样食材,且每样食材的数量是有限的,我们用一个长度为 n 的正整数数列 a1,a2,...,an表示小豫豫拥有的每样食材的数量。

食材在入汤前需要处理,现在这 n 样食材中有的被处理好了,有的没有被处理过。

小豫豫有一次机会,可以选择一个长度恰好为 k 的区间 [i,i+k-1],使得 ai~ai+k-1K样食材全部都被处理好(无论区间内的食材原先是否被处理好)。

小豫豫想知道,在经过此操作后,所有被处理好的食材的数量最大是多少。 

输入格式】 

第一行包含两个整数 n k

第二行包含 n 个整数 ai

第三行包含一个长度为 n 01 序列。

如果第 i 个数为 1,表示第 i 样食材已经被处理好,如果第 i 个数为 0,表示第 i 样食材没有被处理好。

输出格式】 

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

输入样例1】 

3 1

2 5 4

0 0 1

输出样例1】 

9

样例解释1】

可以选择将第 2 样食材处理,总的处理好的食材数量为 5+4=9

输入样例2】 

4 3

10 5 4 7

0 1 1 0

输出样例2】  

 19

样例解释2】 

可以选择将第 [1,3]区间的食材处理,总的处理好的食材数量为 10+5+4=19

数据范围

对于前 50%的数据,满足 1kn100

对于前 70%的数据,满足 1kn1000

对于另外的 10%的数据,满足k=n

对于 100% 的数据,满足1kn1000001ai100000

 

来源/分类