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

Envío 550

Problema 0xcf - Mirando al horizonte

  • Autor: cposada8
  • Fecha: 2020-09-07 03:52:48 UTC (Hace más de 4 años)
Caso # Resultado Tiempo Memoria
#1
Incorrecto
0.031 s 3 KBi
#2
Incorrecto
0.034 s 4 KBi
#3
Correcto
0.035 s 3 KBi
#4
Correcto
0.03 s 3 KBi
#5
Incorrecto
0.029 s 3 KBi
#6
Incorrecto
0.773 s 41 KBi
#7
Tiempo límite excedido
0.251 s 14 KBi
#8
Tiempo límite excedido
0.242 s 52 KBi
#9
Tiempo límite excedido
0.254 s 14 KBi
#10
Tiempo límite excedido
0.305 s 54 KBi
Puntos totales: 20 / 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=" ")
        
# 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))