結果
問題 | No.2420 Simple Problem |
ユーザー | FromBooska |
提出日時 | 2023-08-18 20:51:22 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 774 ms / 2,000 ms |
コード長 | 511 bytes |
コンパイル時間 | 233 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 77,312 KB |
最終ジャッジ日時 | 2024-11-28 04:28:18 |
合計ジャッジ時間 | 25,951 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 33 |
ソースコード
# 10**9全探索はできないがsqrt(10**6)なら全探索可能 # A < Bとする from math import floor, ceil T = int(input()) for t in range(T): A, B = map(int, input().split()) if A > B: A, B = B, A mn = floor(A**0.5)*2 mx = ceil(B**0.5)*2 #print('mn', mn, 'mx', mx) NG = mn OK = mx+10 while OK-NG>1: mid = (OK+NG)//2 if (mid**2-A-B) > 0 and 4*A*B < (mid**2-A-B)**2: OK = mid else: NG = mid print(OK)