結果
| 問題 | No.864 四方演算 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-01-14 00:56:56 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 58 ms / 1,000 ms |
| コード長 | 718 bytes |
| 記録 | |
| コンパイル時間 | 417 ms |
| コンパイル使用メモリ | 82,644 KB |
| 実行使用メモリ | 60,032 KB |
| 最終ジャッジ日時 | 2025-01-14 00:57:01 |
| 合計ジャッジ時間 | 3,589 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 27 |
ソースコード
## https://yukicoder.me/problems/no/864
import math
def solve1(N, p):
min_a1 = 1
max_a1 = N
min_a2 = p - N
max_a2 = p - 1
min_a = max(min_a1, min_a2)
max_a = min(max_a1, max_a2)
return max(0, max_a - min_a + 1)
def solve(N, p, q):
a1 = solve1(N, p)
a2 = solve1(N, q)
return a1 * a2
def main():
N = int(input())
K = int(input())
answer = 0
sqrt_k = int(math.sqrt(K))
for p in range(1, sqrt_k + 1):
if K % p == 0:
q = K // p
a1 = solve(N, p, q)
answer += a1
if q != p:
a2 = solve(N, q, p)
answer += a2
print(answer)
if __name__ == "__main__":
main()