結果
問題 | No.1276 3枚のカード |
ユーザー |
![]() |
提出日時 | 2025-05-05 19:13:10 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 190 ms / 2,000 ms |
コード長 | 800 bytes |
コンパイル時間 | 388 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 99,012 KB |
最終ジャッジ日時 | 2025-05-05 19:13:21 |
合計ジャッジ時間 | 9,755 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 61 |
ソースコード
def Inverse_Proportion(N): retu=[] for i in range(1,N+1): if i==N or N//i>N//(i+1): retu.append(((i,i+1),N//i)) else: for j in range(N//i,0,-1): retu.append(((N//(j+1)+1,N//j+1),j)) break return retu N=int(input()) mod=10**9+7 def solve(N): return sum(n*(r-l) for (l,r),n in Inverse_Proportion(N))%mod IP=Inverse_Proportion(N) ans=solve(N)*(N+3)-sum(n*n*(r-l) for (l,r),n in IP)-N*N-N def cnt(x,y,z): if x==z: return 1 if x==y: return 3 if y==z: return 3 return 6 for x in range(1,N+1): if x*x*x>N: break for y in range(x,N+1): if x*y*y>N: break ans-=cnt(x,y,y) ans-=cnt(x,y,y+1)*(N//x//y+1-y-1) ans%=mod print(ans)