結果
問題 | No.375 立方体のN等分 (1) |
ユーザー |
![]() |
提出日時 | 2025-01-18 11:33:11 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 300 ms / 5,000 ms |
コード長 | 544 bytes |
コンパイル時間 | 1,975 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 76,056 KB |
最終ジャッジ日時 | 2025-01-18 11:33:18 |
合計ジャッジ時間 | 3,346 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 32 |
ソースコード
def make_divisors(n): divisors = [] #必要に応じてsetにしても良いかも i = 1 while i ** 2 <= n: if n % i == 0: divisors.append(i) if i ** 2 != n: divisors.append(n//i) i += 1 divisors.sort() return divisors N = int(input()) D1 = make_divisors(N) ans = N for d1 in D1: tmp1 = d1 - 1 N2 = N // d1 D2 = make_divisors(N2) for d2 in D2: tmp2 = tmp1 + d2 - 1 tmp2 += N2 // d2 - 1 ans = min(ans,tmp2) print(ans, N - 1)