Lista P89562


Statement
 

pdf   zip

Mirko ha recibido un regalo de compleaños de su tío en los Estados Unidos – una lista doblemente enlazada (como se muestra en la figura) con los números del 1 al NN en orden creciente.

Mirko realiza dos tipos de movimientos en su nueva lista:

  • Mover el nodo XX justo delante del nodo YY.

  • Mover el nodo XX justo detrás del nodo YY.

Una lista con 6 nodos
La lista después del movimiento “A 1 4” (colocar el 1 en frente del 4).
La lista después de otro movimiento, “B 3 5” (colocar el 3 detrás del 5).

Mirko ha estado jugando durante horas con su nueva lista, escribiendo en un trozo de papel todos los movimientos que hace. Al acabar, intenta volver a dejar la lista como estaba, deshaciendo sus movimientos. Pero descubre sorprendido que la información que se había guardado no es suficiente para deshacer los movimientos que ha hecho: para cada movimiento, sabe que un nodo acaba de ser puesto detrás (o delante) de otro, pero no sabe dónde estaba antes del movimiento.

Ya que Mirko no puede deshacer todos los pasos que ha hecho, al menos sí puede dejar la lista tal y como estaba. Conociendo los movimientos de Mirko, haz un programa que calcule cuál es el mínimo número de movimientos que es necesario para dejar la lista tal y como estaba.

Entrada

La primera línea contiene dos enteros, NN y KK (2N5000002\le N\le 500000, 0M1000000\le M\le 100000), con el número de nodos y el número de movimientos que ha hecho Mirko.

Cada una de las siguientes MM líneas contiene la descripción de un movimiento de Mirko: el tipo (“A” o “B”) y dos enteros XX e YY.

Salida

Escribe una línea con el mínimo número de movimientos.

Public test cases
  • Input

    2 1
    A 2 1
    

    Output

    1
    
  • Input

    4 3
    B 1 2
    A 4 3
    B 1 4
    

    Output

    2
    
  • Input

    6 5
    A 1 4
    B 2 5
    B 4 2
    B 6 3
    A 3 5
    

    Output

    3
    
  • Information
    Author
    COCI06/07
    Language
    Spanish
    Official solutions
    C++
    User solutions
    C++