結果
問題 | No.237 作図可能性 |
ユーザー |
![]() |
提出日時 | 2025-03-20 21:14:40 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 37 ms / 2,000 ms |
コード長 | 1,016 bytes |
コンパイル時間 | 499 ms |
コンパイル使用メモリ | 82,512 KB |
実行使用メモリ | 53,652 KB |
最終ジャッジ日時 | 2025-03-20 21:15:15 |
合計ジャッジ時間 | 2,001 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 28 |
ソースコード
fermat_primes = [3, 5, 17, 257, 65537]def compute_max_m(s, A):if s == 0:return -1target = A // sif target == 0:return -1m = 0current = 1while current * 2 <= target:current *= 2m += 1return mA = int(input())count = 0for mask in range(0, 1 << 5): # There are 5 Fermat primesproduct = 1for j in range(5):if mask & (1 << j):product *= fermat_primes[j]if product > A:break # Early exit if product exceeds Aif product > A:continue # Skip products exceeding Aif product == 1:# Handle case where product is 1 (empty subset)# We need m >= 2 (since n = 2^m must be >=3)max_exp = compute_max_m(1, A)if max_exp >= 2:count += (max_exp - 2 + 1)else:# For other products, compute valid mmax_exp = compute_max_m(product, A)if max_exp >= 0:count += (max_exp + 1)print(count)