結果

問題 No.1918 Simple Math ?
ユーザー とりゐ
提出日時 2021-09-26 08:08:37
言語 PyPy3
(7.3.15)
結果
RE  
(最新)
AC  
(最初)
実行時間 -
コード長 338 bytes
コンパイル時間 208 ms
コンパイル使用メモリ 82,200 KB
実行使用メモリ 66,880 KB
最終ジャッジ日時 2024-06-29 02:07:43
合計ジャッジ時間 3,769 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample RE * 1
other RE * 33
権限があれば一括ダウンロードができます

ソースコード

diff #

def floor_sqrt(n):
  ng,ok=-1,n+1
  while abs(ok-ng)>1:
    mid=(ng+ok)//2
    if mid**2<=n:
      ng=mid
    else:
      ok=mid
  return ng

mod=10**9+7
m,n=map(int,input().split())
c=[0]*m
for i in range(1,m):
  c[i]=c[i-1]+(m-(-i*i)%m)
k=floor_sqrt(n*m)
a,b=k//m,k%m
num=(k*(k+1)*(2*k+1)//6-(c[-1]*a+c[b]))//m
print((n*k-num+k//m)%mod)
0