結果
問題 |
No.719 Coprime
|
ユーザー |
|
提出日時 | 2022-03-31 10:16:28 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 612 bytes |
コンパイル時間 | 573 ms |
コンパイル使用メモリ | 82,400 KB |
実行使用メモリ | 64,508 KB |
最終ジャッジ日時 | 2024-11-16 12:59:28 |
合計ジャッジ時間 | 4,952 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 43 WA * 18 |
ソースコード
N = int(input()) prime = [2,3,5,7,11,13,17,19,23,29,31,37] n = len(prime) ans = 0 dat = list(range(N+1)) dat2 = [0] * (N + 1) for i in range(n): p = prime[i] for j in range(p,N+1,p): while dat[j] % p == 0: dat[j] //= p dat2[j] |= 1 << i for j in range(2,N+1): if dat[j] == j: ans += j dp = [0] * (1 << n) for j in range(2,N+1): dp[dat2[j]] = j for bit in range(1,1 << n): T = bit while T: T -= 1 T &= bit if T == 0:break if dp[bit] < dp[T] + dp[bit ^ T]: dp[bit] = dp[T] + dp[bit ^ T] print(ans + max(dp))