2

Codechef の問題 ( Turbo Sort ) を解決しようとしています。問題は

数値のリストが与えられたら、それらを非降順で並べ替えます。

入力

t – リスト内の数値の数。次に t 行が続きます [t <= 10^6]。

各行には 1 つの整数が含まれます: N [0 <= N <= 10^6]

出力

指定された数値を非降順で出力します。

入力:

5 5 3 6 7 1

出力:

1 3 5 6 7

私の解決策は次のとおりです。

l = []
t = input()
MAX = 10**6
while t <= MAX and t != 0:
    n = input()
    l.append(n)
    t = t - 1
st = sorted(l)
for x in st:
    print x

課題は、このプログラムを 5 秒で実行する必要があることです。ファイルを送信すると、codechef は時間を超過しており、最適化が必要であると言います。

それを最適化する方法を教えてください。

4

2 に答える 2