結果

問題 No.886 Direct
ユーザー sasa8uyauya
提出日時 2025-03-06 19:46:45
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,406 ms / 4,000 ms
コード長 295 bytes
コンパイル時間 712 ms
コンパイル使用メモリ 82,120 KB
実行使用メモリ 99,928 KB
最終ジャッジ日時 2025-03-06 19:46:57
合計ジャッジ時間 11,127 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 32
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

h,w=map(int,input().split())
if h==1 or w==1:
print(max(h,w)-1)
exit()
M=10**9+7
l=min(h,w)
q=[0]*l
for i in reversed(range(1,l)):
x=(h-1)//i
y=(w-1)//i
q[i]=(h*x-i*x*(x+1)//2)*(w*y-i*y*(y+1)//2)*2%M
for j in range(i+i,l,i):
q[i]-=q[j]
q[i]%=M
print((q[1]+h*(w-1)+(h-1)*w)%M)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0