結果
| 問題 |
No.1200 お菓子配り-3
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-08-29 10:53:30 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 703 bytes |
| コンパイル時間 | 286 ms |
| コンパイル使用メモリ | 82,248 KB |
| 実行使用メモリ | 76,680 KB |
| 最終ジャッジ日時 | 2024-11-14 17:23:28 |
| 合計ジャッジ時間 | 42,202 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 30 TLE * 1 |
ソースコード
# X=A*B+C
# Y=A*C+B
# X+Y=(A+1)(B+C)
S=int(input())
for _ in range(S):
X,Y=map(int,input().split())
ans=0
if X==Y:
ans=X-1
d=1
while d*d<=X+Y:
if (X+Y)%d!=0:
d+=1
continue
divs=[d]
if (X+Y)//d!=d:
divs.append((X+Y)//d)
for div in divs:
if div<=2:
continue
A=div-1
# B+C=bc
# X=AB+C
# X=AB+bc-B
# B=(X-bc)//(A-1)
bc=(X+Y)//div
B=(X-bc)//(A-1)
C=bc-B
if X!=A*B+C or Y!=A*C+B or A<=0 or B<=0 or C<=0:
continue
ans+=1
d+=1
print(ans)