可口蛋糕
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小蓝制作了 n 个蛋糕并将其从左往右排成一行,其中第 i 个蛋糕的饱腹度为 w_i 其可口值为 d_i

由于手法过于生疏,尽管每个蛋糕的饱腹度必然为正数,但是可能存在蛋糕的可口值为负数!

作为可口蛋糕大赛的评委,小灰灰需要吃掉一段连续的蛋糕,使得蛋糕的饱腹度之和至少为 W

而小蓝的得分就是小灰灰吃掉蛋糕所对应的可口值之和,她想知道在小灰灰帮助她的情况下,她的最大可能得分是多少。

输入描述:

第一行两个空格分隔的整数分别代表 nW

接下来一行 n 个空格分隔的整数分别代表:w_1, w_2, ..., w_n

再接下来一行 n 个空格分隔的整数分别代表:d_1,d_2,...,d_n

保证:
1 \le n \le 10^6

1 \le W,w_i\le10^9

0\le |d_i|\le10^9

W \le \sum_{i=1}^n w_i

输出描述:

输出一行一个整数代表答案。
示例1

输入

复制
5 8
1 4 5 2 3
-1 -1 1 -2 1

输出

复制
0

说明

选择区间 [2,3] 或者区间 [3,5] 时,这段蛋糕的饱腹度之和都超过了 8,且其可口值之和均为 0,可以证明这就是小蓝能够获得的最大得分。