結果
| 問題 |
No.736 約比
|
| コンテスト | |
| ユーザー |
tsuchinaga
|
| 提出日時 | 2019-03-01 14:34:15 |
| 言語 | Go (1.23.4) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 788 bytes |
| コンパイル時間 | 10,882 ms |
| コンパイル使用メモリ | 222,864 KB |
| 実行使用メモリ | 13,756 KB |
| 最終ジャッジ日時 | 2024-06-23 12:04:15 |
| 合計ジャッジ時間 | 14,401 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 5 TLE * 1 -- * 59 |
ソースコード
package main
import (
"fmt"
"math"
"strings"
)
func main() {
var n, a int
_, _ = fmt.Scan(&n)
min1, min2 := math.MaxInt64, math.MaxInt64
nums := make([]int, n)
for i := range nums {
_, _ = fmt.Scan(&a)
nums[i] = a
if min1 > a {
min1, min2 = a, min1
} else if min2 > a {
min2 = a
}
}
list := make([]int, 0) // min1とmin2の約数のリスト
for i := 2; i <= min1; i++ {
if min1%i == 0 && min2%i == 0 {
list = append(list, i)
}
}
for i := len(list) - 1; i >= 0; i-- {
r := true
for _, a := range nums {
if a%list[i] != 0 {
r = false
break
}
}
if r {
for j := range nums {
nums[j] /= list[i]
}
break
}
}
s := ""
for _, a := range nums {
s += fmt.Sprintf("%d:", a)
}
fmt.Println(strings.Trim(s, ":"))
}
tsuchinaga