Activación del panel#13043

Activación del panel

2 segundos
256 megabytes
Difícil

Se te da un arreglo binario de longitud y un arreglo de longitud .

Puedes realizar la siguiente operación como máximo una vez.

Elige un índice . Si s_i=0, entonces la operación solo está permitida si

c_i \le k.

Si s_i=1, la operación siempre está permitida.

Después de elegir :

  1. Establece s_i=1.

  2. Sea el mayor índice tal que

    l<i,\quad s_l=0,\quad c_l<c_i.

    Si existe tal índice, establece s_l=1.

  3. Sea el menor índice tal que

    r>i,\quad s_r=0,\quad c_r<c_i.

    Si existe tal índice, establece s_r=1.

Los índices y se determinan usando el arreglo antes de la operación.

Encuentra la máxima longitud posible de un segmento contiguo que consista solo de unos después de realizar la operación como máximo una vez.

Entrada

La primera línea contiene dos enteros y (1 \le n \le 2 \cdot 10^5, 0 \le k \le 10^{9}).

La segunda línea contiene enteros s_1,s_2,\ldots,s_n (s_i \in \{0,1\}).

La tercera línea contiene enteros c_1,c_2,\ldots,c_n (0 \le c_i \le 10^9).

Salida

Imprime un entero — la máxima longitud posible de un segmento contiguo que consista solo de unos después de realizar la operación como máximo una vez.

Ejemplos

Ejemplo 1

Loading
Loading

Nota

En el ejemplo, elige i=5.

Como s_5=0 y c_5=3\le k, esta operación está permitida.

Los índices correspondientes a la izquierda y a la derecha son y , ya que

c_3=1<c_5

y

c_7=2<c_5.

Después de la operación,

s=[1,0,1,1,1,1,1].

Por lo tanto, la respuesta es .

Puntuación

  1. Subtarea ( puntos): n \le 30.

  2. Subtarea ( puntos): n \le 5000.

  3. Subtarea ( puntos): Sin restricciones adicionales.