競技プログラミングの凡ミスを減らしてもっとロジックの部分を楽しむために、関数型アプローチを取り入れてみる試みです。
スライド中で取り上げたスライド: Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング(https://speakerdeck.com/naoya/guan-shu-xing-yan-yu-dejing-ji-puroguramingu)