Luciérnaga


Submit solution


Points: 100 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Pascal, Prolog, Swift, VB

Una luciérnaga japonesa ha volado dentro de una cueva llena de obstáculos: estalagmitas (subiendo del suelo) y estalactitas (colgando del techo). La cueva es de N unidades de largo (donde N es par) y H unidades de alto. El primer obstáculo es una estalagmita después las estalactitas y estalagmitas siguen de manera alterna.

Aquí tienes un ejemplo de una cueva de 14 unidades de largo y 5 unidades de alto (la imagen corresponde al segundo ejemplo de entrada):

Descripcion

La luciérnaga japonesa no es del tipo que volaría alrededor del obstáculo, en cambio escoge una altura única y atacar de un extremo de la cueva al otro destruyendo todos los obstáculos en su camino con sus poderosos movimientos de kung-fu. En el ejemplo anterior, escogiendo el 4to nivel desde la tierra la luciérnaga destruye ocho obstáculos:

Esta no es la mejor opción porque la luciérnaga terminará menos cansada si escoge cualquiera de los niveles uno o cinco, destruyendo sólo siete obstáculos. A usted se le dará la altura y longitud de la cueva y los tamaños de todos los obstáculos.

Escriba un programa que determine el número mínimo de obstáculos que la luciérnaga necesita destruir para alcanzar el final de la cueva, y en cuántos niveles distintos puede lograr ese número.

Entrada

La primera línea de la entrada contiene dos enteros N y H, (2 \leq N \leq 200 000), (2 \leq H \leq 500 000), el largo y alto de la cueva. N siempre será par. Las próximas N líneas contienen el tamaño de los obstáculos, uno por cada línea, el primer obstáculo es una estalagmita después las estalactitas y estalagmitas se presentan de manera alterna. Todos los tamaños son enteros positivos menores o iguales que H.

Salida

La salida debe contener en una sola línea dos enteros separados por un simple espacio. El primer número es el mínimo de obstáculos que la luciérnaga debe destruir y el segundo número es la cantidad de niveles en la que puede alcanzarlo.

Ejemplo de Entrada 1

6 7
1
5
3
3
5
1

Ejemplo de Salida 1

2 3

Ejemplo de Entrada 2

14 5
1
3
4
2
2
4
3
4
3
3
3
2
3
3

Ejemplo de Salida 2

7 2

Comments


  • 0
    PedroPabloAB  commented on June 24, 2021, 11:29 p.m.

    Gracias, voy a ver


  • 0
    PedroPabloAB  commented on June 24, 2021, 2:42 p.m.

    Cómo puedo optimizar la solución a este problema?


    • 3
      aniervs  commented on June 24, 2021, 10:16 p.m.

      Se añadió una editorial.