自作Optionalが使うnone型を独自のものに置き換え
dequeを使ったpriority_queueを追加