結果
問題 |
No.376 立方体のN等分 (2)
|
ユーザー |
![]() |
提出日時 | 2025-04-16 00:41:22 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,059 bytes |
コンパイル時間 | 230 ms |
コンパイル使用メモリ | 82,012 KB |
実行使用メモリ | 59,712 KB |
最終ジャッジ日時 | 2025-04-16 00:45:13 |
合計ジャッジ時間 | 3,473 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 22 WA * 16 |
ソースコード
def factorize(n): factors = [] i = 2 while i * i <= n: if n % i == 0: cnt = 0 while n % i == 0: cnt += 1 n = n // i factors.append((i, cnt)) i += 1 if n > 1: factors.append((n, 1)) return factors def main(): import sys N = int(sys.stdin.readline()) if N == 1: print("0 0") return factors = factorize(N) current = [1, 1, 1] for (p, e) in factors: x = e // 3 rem = e - x y = rem // 2 z = rem - y part1 = p ** x part2 = p ** y part3 = p ** z parts = sorted([part1, part2, part3]) current_sorted = sorted(current) new_a = current_sorted[0] * parts[2] new_b = current_sorted[1] * parts[1] new_c = current_sorted[2] * parts[0] current = sorted([new_a, new_b, new_c]) sum_current = sum(current) tmin = sum_current - 3 tmax = N - 1 print(f"{tmin} {tmax}") if __name__ == "__main__": main()