結果

問題 No.1162 Many Quotients hard
ユーザー titia
提出日時 2025-01-07 05:56:05
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 31 ms / 2,000 ms
コード長 450 bytes
コンパイル時間 1,560 ms
コンパイル使用メモリ 12,288 KB
実行使用メモリ 10,240 KB
最終ジャッジ日時 2025-01-07 05:56:09
合計ジャッジ時間 3,466 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 42
権限があれば一括ダウンロードができます

ソースコード

diff #

N=int(input())

OK=N
NG=1

while OK>NG+1:
    mid=(OK+NG)//2

    if abs(N/mid - N/(mid+1))<=1:
        OK=mid
    else:
        NG=mid

OK2=N
NG2=1

while OK2>NG2+1:
    mid=(OK2+NG2)//2

    if abs(N/mid - N/(mid+1))<1:
        OK2=mid
    else:
        NG2=mid

ANS=OK+N//OK2

SET=set()

if OK==OK2:
    print(N//OK+OK-1)
else:
    for i in range(OK,OK2):
        x=N//i

        if N//OK2<x<N//OK:
            SET.add(x)

    print(ANS+len(SET))
0