█████████ ████ ███░░░░░███ ░░███ ███ ░░░ ██████ ███████ ██████ ██████ ░███ ███░░███ ███░░███ ███░░███ ███░░███ ░███ ░███ ░███░███ ░███ ░███████ ░███ ░███ ░░███ ███░███ ░███░███ ░███ ░███░░░ ░███ ░███ ░░█████████ ░░██████ ░░████████░░██████ ░░██████ ░░░░░░░░░ ░░░░░░ ░░░░░░░░ ░░░░░░ ░░░░░░

Envío 4982

Problema 0xca - Contar cuantas veces aparece X en un subarreglo

  • Autor: Ikerlb
  • Fecha: 2021-10-04 17:47:33 UTC (Hace alrededor de 3 años)
Caso # Resultado Tiempo Memoria
#1
Correcto
0.031 s 3 KBi
#2
Correcto
0.024 s 3 KBi
#3
Correcto
0.099 s 3 KBi
#4
Correcto
0.771 s 9 KBi
#5
Tiempo límite excedido
1.542 s 9 KBi
#6
Tiempo límite excedido
1.58 s 43 KBi
#7
Tiempo límite excedido
1.542 s 26 KBi
#8
Tiempo límite excedido
1.529 s 28 KBi
Puntos totales: 50 / 100

Código

from collections import defaultdict
from bisect import bisect_right

m = defaultdict(list)

_ = input()
nums = list(map(int, input().split(" ")))

for i, n in enumerate(nums):
    m[n].append(i)

Q = int(input())
for _ in range(Q):
    L, R, X = map(int, input().split(" "))
    print(bisect_right(m[X], R) - bisect_right(m[X], L - 1))