結果

問題 No.3361 2解間格子点
コンテスト
ユーザー Kude
提出日時 2025-11-14 22:14:05
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 51 ms / 2,000 ms
コード長 591 bytes
コンパイル時間 292 ms
コンパイル使用メモリ 82,660 KB
実行使用メモリ 54,320 KB
最終ジャッジ日時 2025-11-14 22:14:09
合計ジャッジ時間 4,636 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 65
権限があれば一括ダウンロードができます

ソースコード

diff #

a, b, c = map(int, input().split())
if a < 0:
    a, b, c = -a, -b, -c

def f(x):
    return a * x * x + b * x + c >= 0

neg = (-b + 2 * a - 1) // (2 * a)
d = 1
while not f(neg - d):
    d *= 2
nonneg = neg - d
while abs(nonneg - neg) > 1:
    mid = (nonneg + neg) // 2
    if f(mid):
        nonneg = mid
    else:
        neg = mid

alpha = nonneg

neg = (-b) // (2 * a)
d = 1
while not f(neg + d):
    d *= 2
nonneg = neg + d
while abs(nonneg - neg) > 1:
    mid = (nonneg + neg) // 2
    if f(mid):
        nonneg = mid
    else:
        neg = mid

beta = nonneg

print(beta - alpha - 1)
0