小Why的简单加减
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给定长度为 n 的序列 a,你可以执行以下操作至多 k 次:
\bullet \选择 l,r \ (1 \leq l < r \leq n),令 a_l=a_l-1 ,a_r=a_r+1
求至多操作 k 次后序列 a 中最多的非负整数个数。

输入描述:

第一行包含两个整数 n,k \ (2 \leq n \leq 10^6 ,0 \leq k \leq 10^{12}) ,表示序列 a 的长度和操作次数。
第二行包含 n 个整数 a_1,a_2,\dots,a_n \ (-10^6 \leq a_i \leq 10^6),表示序列 a

输出描述:

输出一个整数,表示至多的非负整数个数。
示例1

输入

复制
3 2
0 -1 -1

输出

复制
2
示例2

输入

复制
4 3
3 0 -1 -2

输出

复制
4