結果
問題 | No.864 四方演算 |
ユーザー |
![]() |
提出日時 | 2022-05-28 15:26:05 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 137 ms / 1,000 ms |
コード長 | 565 bytes |
コンパイル時間 | 486 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 11,008 KB |
最終ジャッジ日時 | 2024-09-20 22:22:11 |
合計ジャッジ時間 | 4,128 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
ソースコード
from collections import defaultdict from math import sqrt def divisor(N): ret = [] for i in range(1,int(sqrt(N))+1): if N % i == 0: ret.append(i) if N // i != i: ret.append(N//i) ret.sort() return ret N = int(input()) K = int(input()) div = divisor(K) cnt = defaultdict(int) for d in div: if d < 2 or N * 2 < d: continue if 2 <= d <= N + 1: cnt[d] = d - 1 else: cnt[d] = N * 2 + 1 - d ans = 0 for ac in div: bd = K // ac ans += cnt[ac] * cnt[bd] print(ans)