結果

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

ソースコード

diff #

import sys
input = lambda :sys.stdin.readline()[:-1]
ni = lambda :int(input())
na = lambda :list(map(int,input().split()))
yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES")
no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO")
#######################################################################

a, b, c = na()
if a < 0:
    a = -a
    b = -b
    c = -c
def f(x):
    return a * x * x + b * x * N + c * N * N

N = 10 ** 30
ok = 10 ** 60
ng = -b * N // a // 2 - 1

while ok - ng > 1:
    x = ok + ng >> 1
    if f(x) >= 0:
        ok = x
    else:
        ng = x

R = (ok-1) // N + 1


ok = -10 ** 60
ng = -b * N // a // 2 + 1
# print(ok / N, ng / N)
while abs(ok - ng) > 1:
    x = ok + ng >> 1
    if f(x) >= 0:
        ok = x
    else:
        ng = x
# print("L", ok, ok / N)
L = ok // N
# print(L, R)

print(max(R - L - 1, 0))
0