Subsecuencia creciente más larga II

Tiempo límite 3 s
Memoria límite 256 MB
Casos de prueba 10
Dificultad Difícil Algoritmos
Mostrar (2) Árboles de segmentosProgramación dinámica
Enviar solución

Puntos: 20

Tipos de problema
Lenguajes permitidos
C, C++, Java, Python, Rust

Dado un arreglo de \(n\) enteros y un entero \(k\), encuentra la subsecuencia más larga que cumpla:

  • es estrictamente creciente;
  • la diferencia entre dos elementos seguidos de la subsecuencia es a lo más \(k\).

Entrada

La primera línea tiene \(n\) y \(k\) \((1 \le n, k \le 10^5)\). La segunda tiene los \(n\) enteros, entre \(1\) y \(10^5\).

Salida

El largo de la subsecuencia.

Ejemplo 1

Entrada

9 3
4 2 1 4 3 4 5 8 15

Salida

5

Ejemplo 2

Entrada

5 5
7 4 5 1 8

Salida

3

Comentarios

No hay comentarios por el momento.