080 C - Remainder Reminder

解説

公式解説通りに素直に実装します. 強いて言うならmapしてからsumではなく, 一気にsumByしてしまうと少し速くなります. 例えば次のように書くといいでしょう.

1
2
let solve N K =
  if K=0L then N*N else [|1L..N|] |> Array.sumBy (fun b -> (N/b) * max 0L (b-K) + max (N%b-K+1L) 0L)