CODE FESTIVAL 予選の過去問はこんな感じなのか。

# はじめに

最近知ったのですが、「**CODE FESTIVAL**」という競技プログラミングのイベントが過去に５回開催されていたようです。
（例えば CODE FESTIVAL 2018 の公式サイトは[**こちら**](https://www.recruit-jinji.jp/recruitment/code_fes/)。）

予選なら誰でもオンラインで参加可能だったようです。
予選で出題された問題をちょっと見てみましょう。

# 予選の問題へのリンク

問題は[**AtCoder**](https://atcoder.jp/)に載っていて、今から問題に挑戦してソースコードを提出することもできます。

|   | A問題 | B問題 | C問題 | D問題 | E問題 | F問題 |
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| 2014予選A | [■](https://atcoder.jp/contests/code-festival-2014-quala/tasks/code_festival_qualA_a) | [■](https://atcoder.jp/contests/code-festival-2014-quala/tasks/code_festival_qualA_b) | [■](https://atcoder.jp/contests/code-festival-2014-quala/tasks/code_festival_qualA_c) | [■](https://atcoder.jp/contests/code-festival-2014-quala/tasks/code_festival_qualA_d) | － | － |
| 2014予選B | [■](https://atcoder.jp/contests/code-festival-2014-qualb/tasks/code_festival_qualB_a) | [■](https://atcoder.jp/contests/code-festival-2014-qualb/tasks/code_festival_qualB_b) | [■](https://atcoder.jp/contests/code-festival-2014-qualb/tasks/code_festival_qualB_c) | [■](https://atcoder.jp/contests/code-festival-2014-qualb/tasks/code_festival_qualB_d) | － | － |
| 2015予選A | [■](https://atcoder.jp/contests/code-festival-2015-quala/tasks/codefestival_2015_qualA_a) | [■](https://atcoder.jp/contests/code-festival-2015-quala/tasks/codefestival_2015_qualA_b) | [■](https://atcoder.jp/contests/code-festival-2015-quala/tasks/codefestival_2015_qualA_c) | [■](https://atcoder.jp/contests/code-festival-2015-quala/tasks/codefestival_2015_qualA_d) | － | － |
| 2015予選B | [■](https://atcoder.jp/contests/code-festival-2015-qualb/tasks/codefestival_2015_qualB_a) | [■](https://atcoder.jp/contests/code-festival-2015-qualb/tasks/codefestival_2015_qualB_b) | [■](https://atcoder.jp/contests/code-festival-2015-qualb/tasks/codefestival_2015_qualB_c) | [■](https://atcoder.jp/contests/code-festival-2015-qualb/tasks/codefestival_2015_qualB_d) | － | － |
| 2016予選A | [■](https://atcoder.jp/contests/code-festival-2016-quala/tasks/codefestival_2016_qualA_a) | [■](https://atcoder.jp/contests/code-festival-2016-quala/tasks/codefestival_2016_qualA_b) | [■](https://atcoder.jp/contests/code-festival-2016-quala/tasks/codefestival_2016_qualA_c) | [■](https://atcoder.jp/contests/code-festival-2016-quala/tasks/codefestival_2016_qualA_d) | [■](https://atcoder.jp/contests/code-festival-2016-quala/tasks/codefestival_2016_qualA_e) | － |
| 2016予選B | [■](https://atcoder.jp/contests/code-festival-2016-qualb/tasks/codefestival_2016_qualB_a) | [■](https://atcoder.jp/contests/code-festival-2016-qualb/tasks/codefestival_2016_qualB_b) | [■](https://atcoder.jp/contests/code-festival-2016-qualb/tasks/codefestival_2016_qualB_c) | [■](https://atcoder.jp/contests/code-festival-2016-qualb/tasks/codefestival_2016_qualB_d) | [■](https://atcoder.jp/contests/code-festival-2016-qualb/tasks/codefestival_2016_qualB_e) | － |
| 2016予選C | [■](https://atcoder.jp/contests/code-festival-2016-qualc/tasks/codefestival_2016_qualC_a) | [■](https://atcoder.jp/contests/code-festival-2016-qualc/tasks/codefestival_2016_qualC_b) | [■](https://atcoder.jp/contests/code-festival-2016-qualc/tasks/codefestival_2016_qualC_c) | [■](https://atcoder.jp/contests/code-festival-2016-qualc/tasks/codefestival_2016_qualC_d) | [■](https://atcoder.jp/contests/code-festival-2016-qualc/tasks/codefestival_2016_qualC_e) | － |
| 2017予選A | [■](https://atcoder.jp/contests/code-festival-2017-quala/tasks/code_festival_2017_quala_a) | [■](https://atcoder.jp/contests/code-festival-2017-quala/tasks/code_festival_2017_quala_b) | [■](https://atcoder.jp/contests/code-festival-2017-quala/tasks/code_festival_2017_quala_c) | [■](https://atcoder.jp/contests/code-festival-2017-quala/tasks/code_festival_2017_quala_d) | [■](https://atcoder.jp/contests/code-festival-2017-quala/tasks/code_festival_2017_quala_e) | [■](https://atcoder.jp/contests/code-festival-2017-quala/tasks/code_festival_2017_quala_f) |
| 2017予選B | [■](https://atcoder.jp/contests/code-festival-2017-qualb/tasks/code_festival_2017_qualb_a) | [■](https://atcoder.jp/contests/code-festival-2017-qualb/tasks/code_festival_2017_qualb_b) | [■](https://atcoder.jp/contests/code-festival-2017-qualb/tasks/code_festival_2017_qualb_c) | [■](https://atcoder.jp/contests/code-festival-2017-qualb/tasks/code_festival_2017_qualb_d) | [■](https://atcoder.jp/contests/code-festival-2017-qualb/tasks/code_festival_2017_qualb_e) | [■](https://atcoder.jp/contests/code-festival-2017-qualb/tasks/code_festival_2017_qualb_f) |
| 2017予選C | [■](https://atcoder.jp/contests/code-festival-2017-qualc/tasks/code_festival_2017_qualc_a) | [■](https://atcoder.jp/contests/code-festival-2017-qualc/tasks/code_festival_2017_qualc_b) | [■](https://atcoder.jp/contests/code-festival-2017-qualc/tasks/code_festival_2017_qualc_c) | [■](https://atcoder.jp/contests/code-festival-2017-qualc/tasks/code_festival_2017_qualc_d) | [■](https://atcoder.jp/contests/code-festival-2017-qualc/tasks/code_festival_2017_qualc_e) | [■](https://atcoder.jp/contests/code-festival-2017-qualc/tasks/code_festival_2017_qualc_f) |
| 2018予選A | [■](https://atcoder.jp/contests/code-festival-2018-quala/tasks/code_festival_2018_quala_a) | [■](https://atcoder.jp/contests/code-festival-2018-quala/tasks/code_festival_2018_quala_b) | [■](https://atcoder.jp/contests/code-festival-2018-quala/tasks/code_festival_2018_quala_c) | [■](https://atcoder.jp/contests/code-festival-2018-quala/tasks/code_festival_2018_quala_d) | [■](https://atcoder.jp/contests/code-festival-2018-quala/tasks/code_festival_2018_quala_e) | － |
| 2018予選B | [■](https://atcoder.jp/contests/code-festival-2018-qualb/tasks/code_festival_2018_qualb_a) | [■](https://atcoder.jp/contests/code-festival-2018-qualb/tasks/code_festival_2018_qualb_b) | [■](https://atcoder.jp/contests/code-festival-2018-qualb/tasks/code_festival_2018_qualb_c) | [■](https://atcoder.jp/contests/code-festival-2018-qualb/tasks/code_festival_2018_qualb_d) | [■](https://atcoder.jp/contests/code-festival-2018-qualb/tasks/code_festival_2018_qualb_e) | － |

※AtCoderには予選以外（本選など）の問題もひととおりあると思うので興味がある方は探してみてください。便利サイト「[**AtCoder Problems**](https://kenkoooo.com/atcoder/#/table/)」から探すと早いかもしれません。

# どれくらい難しいのか？

今から予選の問題を解いてみようと思ったとき、それぞれの問題の難易度が気になるところです。
そこで各問題について**コンテストでの配点**と**「[AtCoder Problems](https://kenkoooo.com/atcoder/#/table/)」でのDifficulty（推定難易度）**をまとめました。

|   | A問題 | B問題 | C問題 | D問題 | E問題 | F問題 |
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| 2014予選A | 100点<br>Diff: ？ | 100点<br>Diff: 251 | 100点<br>Diff: 639 | 100点<br>Diff: 1896 | － | － |
| 2014予選B | 100点<br>Diff: 69 | 100点<br>Diff: 211 | 100点<br>Diff: 1298 | 100点<br>Diff: 1651 | － | － |
| 2015予選A | 100点<br>Diff: 68 | 100点<br>Diff: 226 | 100点<br>Diff: 785 | 100点<br>Diff: 1723 | － | － |
| 2015予選B | 100点<br>Diff: 67 | 100点<br>Diff: 473 | 100点<br>Diff: 645 | 100点<br>Diff: 1965 | － | － |
| 2016予選A | 100点<br>Diff: 105 | 200点<br>Diff: 464 | 400点<br>Diff: 1077 | 800点<br>Diff: 2684 | 1200点<br>Diff: 2723 | － |
| 2016予選B | 100点<br>Diff: 114 | 200点<br>Diff: 319 | 500点<br>Diff: 1688 | 700点<br>Diff: 1719 | 1200点<br>Diff: 2576 | － |
| 2016予選C | 100点<br>Diff: 191 | 200点<br>Diff: 1012 | 400点<br>Diff: 1404 | 800点<br>Diff: 2283 | 1200点<br>Diff: 2885 | － |
| 2017予選A | 100点<br>Diff: 99 | 200点<br>Diff: 863 | 400点<br>Diff: 1203 | 700点<br>Diff: 2445 | 1600点<br>Diff: 3415 | 1600点<br>Diff: 3091 |
| 2017予選B | 100点<br>Diff: 73 | 200点<br>Diff: 568 | 500点<br>Diff: 1883 | 700点<br>Diff: 2499 | 1600点<br>Diff: 2937 | 1600点<br>Diff: 3266 |
| 2017予選C | 100点<br>Diff: 69 | 200点<br>Diff: 424 | 400点<br>Diff: 975 | 700点<br>Diff: 2132 | 1600点<br>Diff: 3750 | 1800点<br>Diff: 3315 |
| 2018予選A | 100点<br>Diff: ？ | 200点<br>Diff: ？ | 500点<br>Diff: ？ | 700点<br>Diff: ？ | 800点<br>Diff: ？ | － |
| 2018予選B | 100点<br>Diff: ？ | 200点<br>Diff: ？ | 500点<br>Diff: ？ | 700点<br>Diff: ？ | 800点<br>Diff: ？ | － |

どのコンテストもA問題は非常に簡単ですね（文法の確認程度）。
2014年と2015年のコンテストは各100点の配点となっていますが、Diffcultyを見ると実際は100/200/400/500くらいのボリュームだと分かります。
また、2018年のコンテストはDiffcultyが出ていませんでしたが、配点からおおよそ想像できますね。
私のような（本記事執筆時点で）AtCoder緑の人にとっては、どのコンテストも「B問題までは余裕、C問題は難所、D問題以降は全く歯が立たない」といった印象です。

# おわりに

競技プログラミングの精進として、CODE FESTIVALの予選過去問から自分のレベルに合った問題をチョイスして挑戦してみるのも勉強になるかもしれませんね。

あとで本選の問題もちょっと見てみようと思います。たぶん予選以上にハイレベルだと思いますが。。。

# おまけ

Qiitaでは最近「競技プログラミング研究月間 - みんなでさらなる高みを目指そう」が開催中らしいです。
モチベーションを上げていきたいですね！
https://qiita.com/official-events/5a0502a2d94ed6a00c30

では、今回は以上です。