TOPIC

Time limit exceeded

Douglas Constant asked 4 years ago

def ordenar(): x = int(input()) lista = [None] * x nums = str(input()) todosnums = nums.split() for j in range(x): lista[j] = int(todosnums[j]) menor = lista[0] swap = 0 for i in range(len(lista)): for k in range(i,len(lista)): if lista[k]<menor: lista[i],lista[k] = lista[k],lista[i] swap += 1 menor = lista[i] return swap n = int(input()) for p in range(n): s = ordenar() print("Optimal train swapping takes",s,"swaps.")

Remember not post solutions. Your post may be reviewed by our moderators.

  • Alexandre Corlet replied 1 year ago

    Oi Douglas, blz?

    Cara, também estava com esse problema de TLE. Isso acontece porque há algum caso teste que o tamanho da sequência de vagões a ser lido é muito grande para ser ordenada com um algoritmo que não é eficiente, logo, o programa demora mais do que deveria para ordenar a sequência de vagões. Dá uma lida nos algoritmos de ordenação disponíveis para achar o mais eficiente e depois solucionar o problema.