飲酒プログラミングコンテストに参加した
注意(2019/09/01 追記)
この記事は過度な飲酒を推奨するものではありません。飲酒プログラミングコンテストでは速く飲むことを重視するあまり、過度に飲酒を行ってしまう傾向があります。開催する場合、その危険性を十分認識した上で自己責任で行ってください。また、最悪の事態に備えてシラフで判断力のある人間を用意することを強く推奨します。
コンテストの様子
飲酒プログラミングコンテスト、始まりました。 pic.twitter.com/3fCiwxoLy8
— 宇宙ツイッタラーX (@kenkoooo) 2019年8月30日
amylase さん謹製の統計モデルで、難易度が易しいものから難しいものまで揃うように問題セットが組まれた。
【ルール】18mlアルコールを摂取すると問題を読む権利と提出する権利が得られる。
— 宇宙ツイッタラーX (@kenkoooo) 2019年8月30日
参加者の酒の好みが分かれたので、ルールはアルコール体積ベースになった。唯一の青コーダーなので、銀〜黄の皆様が酒で破滅することを願いながらハイボールを開けた。
1本目のハイボールが終わらないんだが…
— 宇宙ツイッタラーX (@kenkoooo) 2019年8月30日
実際にやってみるとまず1缶目が空かない。レート差を埋めるためにはサクサク飲んでいかねばならないので焦る。tokoharu 先生は 45ml のウイスキーをストレートで飲み干して問題を解き始めている。橙コーダーが酒に強いと勝ち目がないのでやめろ。
1 問目 Garbage Collector
ようやく1缶目のハイボールが空いたので問題を開く。問題を開くコストが重いので最終問から開くのは悪手に思えるが、知っている問題だったので酩酊実装力を信じて勝負に出た。
ロボットをk台として累積和を回してやれば調和級数の和で O(N log N) で解けるという方針が立つ(知っているので)。Rust で実装し始めるが手元がおぼつかない。実装も終わったのにコンパイルが通らない。全部ミュータブルでええやろ!wコンパイルは通るようになったが、今度は配列外参照でサンプルが通らない。サンプルが間違っている。
順位表を見ると早くも not さんと yosupo さんが WA を出している。始まってきたな。
手元のコードは相変わらずサンプルが通らない。ランタイムエラーは消えたが数字が合わない。やはりサンプルが間違っている。コードを読む能力は失われているため print デバッグすると n と m を取り違えていた。競技プログラマは1文字変数を使うのでダメ。
サンプルが合ったので提出する。
一 発 A C
暫定1位!!!! pic.twitter.com/feGI9rjDRN
— 宇宙ツイッタラーX (@kenkoooo) 2019年8月30日
1000 以上あるレート差をひっくり返している。適性があるかもしれない。問題を読む権利が無いので2本目のハイボールを手に取る。
1問通したはいいが2本目が空かない。
— 宇宙ツイッタラーX (@kenkoooo) 2019年8月30日
缶で飲むよりも一旦グラスに移して飲む方が流体力学的に早く飲めるという知見が得られた。破滅しそう。
2 問目 Megalomania
2 問目は無難に一番最初の問題を開いた。おそらく解いたことがない。
区間スケジューリングっぽい。蟻本で見た。早く終わらせないといけない仕事から順番にやっていけばええやろ!w俺は蟻本を3冊持ってる男やぞ。
一 発 A C
銀冠を圧倒している。 pic.twitter.com/J3y5A8Drfx
— 宇宙ツイッタラーX (@kenkoooo) 2019年8月30日
敗北を知りたい。
とこはる先生息してますか!?
— 宇宙ツイッタラーX (@kenkoooo) 2019年8月30日
初手ウイスキーストレートをキメていた tokoharu 先生が print デバッグで苦しんでいる様子だったのでとりあえず煽っとく。
3 本目のハイボールは最初からグラスに移して飲み干した。やはり缶で飲むよりも流量が大きいので速く飲むのに適している。
3 問目 Successive Subtraction
3 問目も何も考えずに前から開く。
何一つ分からんね
— 宇宙ツイッタラーX (@kenkoooo) 2019年8月30日
普通に難しくない?
どうみてもNP-Hardなんやけど
— 宇宙ツイッタラーX (@kenkoooo) 2019年8月30日
解けないことが分かってしまった。
とりあえず一番小さいやつをメチャクチャ小さくして大きいやつから引けば良さそう。サンプルが合うので提出する。流石に 3 完すれば優勝間違いないでしょ。
WA
2問目でNP-Hard出すのやめろや pic.twitter.com/7OmuT8d6P0
— 宇宙ツイッタラーX (@kenkoooo) 2019年8月30日
tokoharu 先生がいつの間にか追い上げてきている。ウイスキーの小瓶も空になっている。どうなってんの。
4 本目のハイボールが空かない。アルコールもそうだが普通に体積が厳しい。残り時間も少ないので飲み切らなくてもギリギリペナルティ差で逃げ切れそう。
結果
ラスト12秒でまくられたけど… pic.twitter.com/JtaTG1YdR0
— 宇宙ツイッタラーX (@kenkoooo) 2019年8月30日
こんな破滅的なコンテストで発揮される勝負強さ、何なの?