魔法青蛙
题号:NC202803
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

    从前有一只青蛙被龙卷风吹到了一座神庙里,神庙共有个石柱,从左至右编号,第个石柱的高度为。每个石柱都有魔力,第个石柱魔力值为。青蛙可以降落到任意石柱上,从这个石柱开始向右跳,每到达一个石柱可以获得相应的魔力值,但是为了获得魔力值,青蛙所到达的石柱高度必须是奇偶相间的。

    青蛙最高能跳的高度有限,最大为。换句话说,如果青蛙能从石柱跳到石柱,那么需要满足并且并且奇偶性不同。
    要想成为魔法青蛙必须尽可能多的获得魔力值,请问青蛙能获得的最大魔力值是多少?

输入描述:

第一行两个数,表示石柱个数和青蛙能跳的最大高度。

第二行个数,,表示每个石柱的高度。

第三行个数,,表示每个石柱的魔力值。

输出描述:

输出一个数,表示青蛙能获得的最大魔力值。
示例1

输入

复制
5 3
5 5 8 1 2
19 11 7 15 3

输出

复制
44

说明

青蛙跳过四个石柱,获得魔力值
示例2

输入

复制
5 2
5 9 8 2 9
13 8 6 16 20

输出

复制
34

说明

青蛙跳过三个石柱,获得魔力值