目次

  1. 引退しちゃったね
  2. 2023年
  3. 2024年
  4. 2025年
  5. そして2026年
  6. 国内予選の準備中
  7. プリンター問題
  8. 国内予選を間近で観戦
  9. 打ち上げる
  10. おわりに

引退しちゃったね

夏というのはとても暑い。
日本の大学生の競プロもアツい。
でも、今年の自分はとても落ち着いていた。
もう、M2になってしまってICPCの出場資格を失ったから。
その代わりに、33人のアツい3時間を、突然動いては白と黒とたまに青などの色を吐き出すプリンターの世話をしながら見ていた。
これがとてもとても面白く感じ、自分が老人と化していることを痛感した。 自分の中で一区切りがついた感じがした。
そこで、今までを振り返ってみることにした。

2023年

競プロを始めたのは2022年秋。
その時は、ICPCの存在すら知らなかった。
春になってICPCなるものの存在を知り、レートが近い同級生2人を誘い初めて出場をした。
この時使ったマシンは学校に設置されたWindowsで、国内模擬の前に動作確認をしていた。 私はそのときはコマンドのことはよくわかっていなかったが、"python3 a.py <input.txt"のように標準入力を使うことができず、チームメイトが"cat input.txt | python3 a.py"と打ち込んでくれた記憶がある(この年はまだDOMjudgeではない)。 「すごいなー」と当時は思っていたが、後に基本的なコマンドしか使っていないと知ることになる。
国内予選本番は1時間か1時間半考え込んで閃いた構築の実装を同級生に丸投げしたらACしてくれて学内2位だったが、次の横浜大会には進めなかった。
その年はレート的には学内3位で、学内1位チームにいる黄色2人は初めて会った時からずっと何を言っているのか分からなかった。 競プロのことで分からないことがあった時に彼らに聞いてみる。 そうするともれなく「これは典型だよ」と言われる。 そしてたいてい知らない名前のアルゴリズムが出てくる。 計算量という概念をようやく理解した頃だったので当然だろう。
そして東京という立地の便利さを生かして学外のオンサイトに出てみたり、CodeQUEENに出てみたりしてどんどん人との交流が増えていった。そして、夏休みになると競プロ以外のプログラミングにも手を出すようになった。

2024年

1年でレート帯は緑から青になり、青色上位の人たちが言うことはかなり分かるようになった。黄色以上の人たちどうしの会話はまだ少ししか分からない。
が、仲良くなったので粘り強く質問して分かろうとしてみた。 話す速度をゆっくりにしてくれて、ちょっと理解が進んだ気がする。
この年はそんな彼らとチームを組むことになった。 とりあえずレート差が大きかったのでチームメイトに追いつくことを目指した。 この年の精進量がピークだったがレート的にはほぼ報われなかった。
夏のCodeQUEENでは6位になりギリギリで賞金を逃し、その日から1年にわたって私の周りに「賞金欲しかった霊」がつきまとうこととなった。
3ヶ月の毎日精進と3ヶ月のほぼ毎日精進を続けたところで、何かを理解したような気持ちになり、そこから少しずつレートもついていくようになった。 まぐれ of まぐれだが、11月に初めて橙パフォをARCでとった時には自分の可能性や成長を感じることができて嬉しかった。
その努力は意味があったのかなかったのか、国内予選も横浜大会も大部分チームメイトのおかげで次大会への進出を決めることができた。 翌年の3月にはAsia Pacific Championshipでシンガポールへ行き、きっともう会えないような各国の強い人と話せたのは、精進のモチベーションにもなった。

2025年

黄色コーダーの会話がかなり分かるようになった。
それのおかげか、ABCなどでも「使ったことはないがどういう時に役立つかが分かっている」アルゴリズムやデータ構造を初見で取り出して使えるということが増えた。 数年にわたり強い人の話をひたすら聞き続ける、という精進の方法もあるのかもしれないと思った。
自分のICPC引退イヤーということもあり、また頑張ろうと思っていたところだった。 上級生だからチームを引っ張ろうとか、横浜大会で綺麗に引退しようとか、そんなことを考えていた。 間違いなくそのせいだろう、国内予選は「緊張」の2文字に収まらないほどに心が崩壊していたが、なんだかんだで学内2位で突破できた。
8月のCodeQUEENでは4位になり、1年間つきまとった「賞金欲しかった霊」を無事に成仏させることに成功。
辛いと思う日もありつつ、横浜大会にも出た。 結果は見事に下振れた。
うん、見事に。
自分の力ならあと2問は解けたはずだと、今でも思う。
ということで色々あんまり納得していないままそこで引退になった。
2025年から2026年の頭にかけては研究もインターンも就活も他の趣味もやっているとなかなか時間が取れず、良くも悪くもその忙しさでしばらく競プロを忘れていた。

そして2026年

3年前に一緒にいた同級生はいつの間にか、どこかへ行ったらしい。
人は能動的にも受動的にも、変わるものだ。
3年の間に大量の後輩が入ってきた。
というわけで私が全11チームのコーチを引き受けることに。
やることは単純な事務手続きだ。 2024年の雑用担当にお任せあれ。
Google Spreadsheetでチームの個人情報を管理していて、チーム登録は気合いで11回やった。 メールの転送がめんどくさかった。
ということでAIにバイブコーディングで叩き台を作ってもらったメール転送ツールを使って、ICPCから届くメールをまとめて転送することにした。 ログイン情報などを違うチームに間違えて転送するというトラブルを未然に防げるという点でも良かった。

国内予選の準備中

準備をしていたらあっという間に国内予選当日になってしまった。
会場の準備をしつつ、飴、ハイチュウ、ラムネを片手で持って突き出しながら全チームに話しかけてみる。
昨年の私みたいにガチガチに緊張している人はいなさそうでほっとした。 テンションが高い人が多めだったが少なくとも平常は保てている様子だった。 みんな、メンタル、強い。
PCTさんがKeioPCでチョコが苦手だと言っていたので今回は糖分ハラスメントの内容を変えてみたが、今度はラムネも苦手だと言われた。
他人の脳に糖分を供給するのは難しい。

プリンター問題

ところで慶應の会場では近年は約10チームが1台のプリンターを使うので、序盤はプリンター前に人が群がり、「この問題を印刷したのは誰だ?」「誰からこのプリントを持っていくのか?」という静かな取り合いバトルが発生する。
一部チームは全ての問題を3部印刷することもあり、開始15分くらいはプチ混乱していた。
今思えばレート順にもらうとかコーチが印刷まとめてするとかそんなルールがあればよかったのかもしれないね。
だが、今年はありがたいことにプリンターが2台に増えた。ヤッターアリガトー
ただ、混乱は全く起きなかったわけではなく、なぜかほぼ全チームが日本語問題文と英語問題文を印刷したので、日本語の紙だけ回収された結果、英語の紙が大量の裏紙として残った。 もっとなぜなのか分からないが日本語の紙もそこそこ余った。
毎年のことだが、絶対にどこかのチームが同じものを2回印刷している。
というわけでこれらの紙はもったいないので、撤収時に自分を含めた何人かで少しずつ持ち帰り、さらに余った数十枚をPCTさんに渡した。
後から話を聞く感じでは、そもそも言語別にpdfが分かれていなかったようだ。 昨年はそんなことなかった気がするのは気のせいか。
というわけで7分程度でプリンターのピークが終わった。暇だね。
競技中に一般に問題文が公開されないというのと、もし読んで解こうとすると大きい声で解法を言いかねないという理由で、3時間問題を極力見ないように徹した。 暇なので、2025年3月のAsia Pacific Championshipでもらった超難問パズル揃いの冊子を持ち込み、プリンターの脇でペン片手に悩むことにした。 このパズル、最初のとっかかりすら難しい。

国内予選を間近で観戦

ここからは暇をしている会場前方のコーチ視点の実況。
Rinshanのスタートダッシュの速さはさすが。 実装や考察が速いというよりもはや問題文を読むのが速い。 その速読術を教えてほしいものだ。
Rinshanは学内争いに目を向けてはいないだろう、慶應は学内2・3位争いが白熱する。 ChatKCSとKBMも予想通り続いてあっさりとA〜Cを通していった。 この2チームも良いペースに見えた。
昨年チームメイトだったLazzくん率いるInner Agent 3は他チームに比べ立ち上がりがやや遅く不安だったが、様子を見る限りでは考察が一番伸びるLazzくんは前半を全く見ないという作戦にしていそう。
そしてしばらくしたところでプリンターの紙が切れたので補充。 プリンターに紙を入れる前にぐわんぐわんして紙が詰まらないようにするやつ、あれをやるのが苦手なので印刷キューが空のうちにこまめに念入りにやっておいた。
大体のチームがCまでを解いてからしばらく音沙汰がなく、おそらくDは実装が重いのだろうと予想しながらひたすらプリンターから出てきた紙を渡してはパズルを解き進めた。
しばらくしてInner Agent 3がDEを数分差で連続AC。今回の問題の担当分けはうまくハマったらしい。
遅れて2チームがDEを通し、学内2〜4位の決着は6問目次第に。
このあたりでお手洗いに行くため会場を出たところ、ドアがオートロックである会場から閉め出された。 KeioPCのときあんなに鍵かけて会場から出ないでねとアナウンスした自分が本当に何をしているんだろうか。 5ヶ月前の自分のアナウンスの通り、あのドアを叩いて音を鳴らそうとしても全然反対側に音が届かないじゃないか。 なんやかんやで会場内に戻ることには無事成功。
後半になると徐々に選手たちの奇行が観測されるように。自チームのテーブルの周りを歩く人、パソコンや紙の前で悩み疲れたのか叫びたそうになっていた人など。 私だって現役のときはおそらく数々の奇行をしていたでしょう。 一番面白かったのはRinshan全員によるジャッジ待ちお祈りダンス。直後に無事ACして喜ぶ様子も見られて良かった。 みなさん一度は生で見ておくべき。
その後Inner Agent 3がFを通し、公開順位表が更新される数秒前に喜びの声を観測。
時間的に学内2位はこれでほぼ確定し、あとは学内3位を争うチームが6問目を通せば横浜進出の可能性がありそうというところ。
そこから4問目を通すチームがポツポツ現れるも上位チームにACは出ず、Rinshan SolutionとInner Agent 3の2チームが横浜進出という結果に。
どのチームも最後まで粘っていて良かった。様子を眺めるのも面白かったのでパズルを解く手は思ったよりも進まなかった。
結局持ち込んだパズルは1問が8割くらい解けたところで時間が終わってしまった…
惜しくも5完だったチームの話を聞く感じでは考察が良いところまで行っていたっぽい。 競プロってこういう思考の経過が評価されるような部分点がないのが辛いね。

打ち上げる

帰りはお好み焼きともんじゃを食べた。
自分も含めみんな競技中に糖分を摂取しすぎたのであまりお腹が空いていなかった。
明太子は苦手だが、お好み焼きとして薄く広げれば食べられるらしい。 ピーマンは輪切りで薄いのに存在感が強すぎてだめだった。
ところで、自分がなんらかのコミュニティの最年長になるという経験が浅く(高3のときコロナが原因で部活ができないまま引退になっちゃったし)、おごるという行為をかなり難しく感じている。 人数が多すぎて全員分出すのは厳しいし、でもお疲れ様の気持ちを伝えつつ集金は楽にしたい。 傾斜もよく分からない。頑張って、下級生の負担を少しだけ軽くしてみた。
この点について人生の先輩からのアドバイスを心よりお待ちしております。

おわりに

全チーム応援していたが、特に上位の4チームには多少の思い入れ(という名の押し付けかも)があった。 上から雑に言うと、けむにくが慶應に来たのと自分が競プロコミュニティに関わり始めたのがほぼ同時期だから、活躍するのが素直に嬉しい。 昨年の私たちを余裕で超えてくれ。 未来の慶應の競プロを引っ張ってくれ。 3年間同じ人達で組んでて私にとっては学内争いのヒリヒリに欠かせない人達だったが、今年で解散なので納得できる終わり方ができるよう力を尽くして。
この3時間やICPCの準備を通して自分の引退を徐々に受け入れられたような気がする。 時間の暴力だ。 どうしてこんなに老人が子どもを見る目と同じような目をしてしまったのか。 彼らに別れを告げる日がすぐそこだからか。 そして、今年は少しだけ孤独に感じた。
とにかく事件などなく終わって良かった。 勝ち進む2チームは最後まで応援し続けたい。