結果
| 問題 | No.14 最小公倍数ソート |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2014-10-28 17:00:32 |
| 言語 | Python2 (2.7.18) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 748 bytes |
| コンパイル時間 | 271 ms |
| コンパイル使用メモリ | 6,912 KB |
| 実行使用メモリ | 17,152 KB |
| 最終ジャッジ日時 | 2024-12-30 14:06:44 |
| 合計ジャッジ時間 | 97,122 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 4 TLE * 16 |
ソースコード
# -*- coding: utf-8 -*-
def solve(N, data):
def gcd(a, b):
while b > 0:
a, b = b, a % b
return a
def bcd(a, b):
return a * b / gcd(a, b)
result = [0] * N
result[0] = data[0]
data[0] = -1
ans_p = 1
while ans_p < N:
mn = -1
index = 0
for i, v in enumerate(data):
a = bcd(result[ans_p - 1], v)
if mn == -1 or mn > a or (mn == a and data[index] > v):
mn = a
index = i
result[ans_p] = data[index]
ans_p += 1
del data[index]
return result
N = int(raw_input())
data = map(int, raw_input().split(" "))
print " ".join(map(str, solve(N, data)))