結果
問題 |
No.1200 お菓子配り-3
|
ユーザー |
![]() |
提出日時 | 2025-06-12 14:28:01 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,170 bytes |
コンパイル時間 | 322 ms |
コンパイル使用メモリ | 82,684 KB |
実行使用メモリ | 57,856 KB |
最終ジャッジ日時 | 2025-06-12 14:28:17 |
合計ジャッジ時間 | 5,848 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | TLE * 1 -- * 30 |
ソースコード
import math import sys def main(): input = sys.stdin.read().split() idx = 0 S = int(input[idx]) idx += 1 for _ in range(S): X = int(input[idx]) Y = int(input[idx+1]) idx += 2 count = 0 # Check if X^2 >=4(Y-1) D = X * X - 4 * (Y - 1) if D < 0: print(0) continue sqrtD = math.isqrt(D) if (sqrtD * sqrtD) != D: max_A = (X + sqrtD) // 2 else: max_A = (X + sqrtD) // 2 # Iterate A from 2 to max_A for A in range(2, max_A + 1): numerator = A * X - Y if numerator <= 0: continue denominator = A * A - 1 if denominator <= 0: continue if numerator % denominator != 0: continue B = numerator // denominator if B <= 0: continue C = X - A * B if C <= 0: continue if A * C + B == Y: count += 1 print(count) if __name__ == '__main__': main()