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

Envío 549

Problema 0xcf - Mirando al horizonte

  • Autor: cposada8
  • Fecha: 2020-09-07 03:29:56 UTC (Hace más de 3 años)
Caso # Resultado Tiempo Memoria
#1
Incorrecto
0.025 s 3 KBi
#2
Incorrecto
0.027 s 4 KBi
#3
Correcto
0.028 s 3 KBi
#4
Correcto
0.022 s 3 KBi
#5
Incorrecto
0.025 s 3 KBi
#6
Incorrecto
0.618 s 39 KBi
#7
Correcto
0.591 s 23 KBi
#8
Correcto
0.826 s 52 KBi
#9
Tiempo límite excedido
0.725 s 26 KBi
#10
Incorrecto
0.644 s 54 KBi
Puntos totales: 40 / 100

Código

def mirar_horizonte(alturas):
    rev_alturas = alturas[::-1]
    mas_alto_previo = rev_alturas[0]
    mas_altos = []
    for i in range(len(rev_alturas)):
        altura_actual = rev_alturas[i]
        if altura_actual>=mas_alto_previo:
            mas_alto_previo = altura_actual
        mas_altos.append(mas_alto_previo)
    
    bloquean_vista = mas_altos[::-1]
    
    salida = []
    for i in range(len(alturas)):
        if alturas[i]==bloquean_vista[i]:
            salida.append(-1)
        else:
            salida.append(bloquean_vista[i])
    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))