結果

問題 No.1882 Areas of Triangle
ユーザー 👑 Kazun
提出日時 2022-03-22 20:04:35
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 137 ms / 2,000 ms
コード長 761 bytes
コンパイル時間 227 ms
コンパイル使用メモリ 82,176 KB
実行使用メモリ 91,264 KB
最終ジャッジ日時 2024-10-10 13:41:10
合計ジャッジ時間 3,059 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 5
other AC * 24
権限があれば一括ダウンロードができます

ソースコード

diff #

def Binary_Search_Big_Count(A,x,equal=False,sort=False):
    """2分探索によって,xを超える要素の個数を調べる.

    A:リスト
    x:調べる要素
    sort:ソートをする必要があるかどうか(Trueで必要)
    equal:Trueのときはx"を超える"がx"以上"になる
    """

    if sort: A.sort()

    if len(A)==0 or A[-1]<x or ((not equal) and A[-1]==x):
        return 0

    L,R=-1,len(A)-1
    while R-L>1:
        C=L+(R-L)//2
        if A[C]>x or (equal and A[C]==x): R=C
        else: L=C
    return len(A)-R

#==================================================
N,K=map(int,input().split())
A=list(map(int,input().split()))
A.sort()

X=0
for a in A:
    X+=Binary_Search_Big_Count(A,(2*K+a-1)//a,True,False)

print(X)
0