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

Envío 552

Problema 0xcf - Mirando al horizonte

  • Autor: cposada8
  • Fecha: 2020-09-07 03:57:16 UTC (Hace más de 4 años)
Caso # Resultado Tiempo Memoria
#1
Correcto
0.028 s 3 KBi
#2
Incorrecto
0.025 s 5 KBi
#3
Correcto
0.022 s 3 KBi
#4
Correcto
0.033 s 6 KBi
#5
Incorrecto
0.025 s 3 KBi
#6
Tiempo límite excedido
0.25 s 39 KBi
#7
Tiempo límite excedido
0.331 s 15 KBi
#8
Tiempo límite excedido
0.363 s 53 KBi
#9
Incorrecto
0.702 s 18 KBi
#10
Tiempo límite excedido
0.299 s 55 KBi
Puntos totales: 30 / 100

Código

def mirar_horizonte(alturas):
    #rev_alturas = alturas[::-1]
    mas_alto_previo = alturas[-1]
    mas_altos = []
    for i in reversed(range(len(alturas))):
        altura_actual = alturas[i]
        if altura_actual>=mas_alto_previo:
            mas_alto_previo = altura_actual
        mas_altos.append(mas_alto_previo)
    
    salida = []
    for i in range(len(alturas)):
        if alturas[i]==mas_altos[len(alturas)-i-1]:
            salida.append(-1)
        else:
            salida.append(mas_altos[len(alturas)-i-1])
    return salida

def print_case(case_index, answer):
    print(f"Case #{case_index+1}:", end=" ")
    for x in answer:
        print(x, end=" ")
    print()
        
# 0xcf - Mirando al horizonte
C = int(input())
for case in range(C):
    N = int(input())
    alturas = [int(x) for x in input().split()]
    print_case(case, mirar_horizonte(alturas))