Sliding Window Or.


Submit solution

Points: 100 (partial)
Time limit: 2.0s
Memory limit: 512M

Author:
Problem type

Se le da un arreglo de n enteros. Su tarea consiste en calcular or bit a bit de cada ventana de k elementos, de izquierda a derecha. En este problema los datos de entrada son grandes y se crean utilizando un generador.

Entrada

La primera línea contiene dos enteros n y k: el número de elementos y el tamaño de la ventana. La siguiente línea contiene cuatro enteros x, a, b y c: los parámetros del generador de entrada. La entrada se genera de la siguiente manera:

  • x_1 = x
  • x_i=(ax_{i-1}+b) mod c para i=2,3,\dots,n

Salida

Imprime el xor de todos los ors de la ventana.

Restricciones

  • 1 \leq k \leq n \leq 10^7
  • 0 \leq x, a, b \le 10^9
  • 1 \leq c \leq 10^9

Ejemplo de Entrada

8 5
3 7 1 11

Ejemplo de Salida

4

Explicación: El array de entrada es [3,0,1,8,2,4,7,6]. Las ventanas son [3,0,1,8,2], [0,1,8,2,4], [1,8,2,4,7] y [8,2,4,7,6], y sus ors son 11, 15, 15 y 15. Por tanto, la respuesta es 11 \oplus 15 \oplus 15 \oplus 15 = 4.


Comments

There are no comments at the moment.