なんか考えたこと

@kaito_tateyama

11月に向けて

10月振り返り

[開発] あまり進んでいない。gkctfsystemは、Vuejsの情報の持ち方とか、設計(コンテスト一覧と、コンテスト詳細情報と、ユーザーと、ユーザーのコンテストでの成績などの情報をどう構造的に持つか)がすごい慣れなくて試行錯誤を繰り返すうちに時間が消えていった。
[受験勉強] センター1年分しかやらなかった…広大模試でも数学半分くらいしかとれず、英語も現役より体力の衰えを感じてまじでやべぇと思った。
[CTF] hackoverと、SECCONに出た。SECCONは特に全く歯が立たなくて厳しい。
[競プロ] picoが終わって中旬あたりに突然精進がはじまっていくつか400を解いて記事を書いた。これ習慣にしたかったけど、詰み問ができると突然毎日のペースが落ちてやる気もなくなっていくので厳しい。蟻本読み通すとか、ある程度の典型が固まったらリズムが作れるんだろうか。それまでは知らないことに当たったら数日止まるみたいな状態になりそう。
[CSS Animation] ひさびさに1個作った(HEARTBEAT)一気に作れるようになって成長を感じた。もっとたくさんの映像を見て力を蓄えたいね。
[Misc] 本を買ったので読んだ。一気に読み通すことができるタイプの本は買ったらすぐに読んじゃうのがよい。今は機械学習を強化したいので、データ解析のための統計モデリング本を読んでいる。動機と必要な知識がインクリメンタルに積み上がっていく感じがわかりやすくてよい。

 

11月の目標

[開発] gkctfの作成 完成するか分からないけどがんばる というか今年中にやらないと駄目じゃないかな
[受験勉強] センター15年分やる
[CTF] ちょっとおやすみして、バイナリ周りを調べる
[競プロ] 毎朝400点に取り組むけど、知識をつけて後々速度上げることを重視して、ゆっくりでよい
[Animation] RustでCSSのパーサーを書いてcairoに渡すやつを書く アニメーションの自動中割りのアルゴリズムについて自分で考える
[機械学習] 二冊本を読んで実装する 一冊は読み切る
[Misc] 本を読みます

 

考えたこと

 まとめると、なんだか今月はいろいろな習慣を作ろうとして失敗したことが多い月だった。途中いろいろあって自己否定感が激しくなったり精神がつらくなってパフォーマンスが落ちたので、今月は何もしてない気がして厳しい。
 やったこと: 技術以外LTにdiscord上で参加した。人に何かを話すのは久々だった。小説「冬と競プロ」を書いた。創作の方向に気持ちが向いたのでピアノを弾いたり(Chrome MIDI APIというものを知った)、絵の練習をしていることが多かった。ここに一番時間使ったかもしれない。naglfarという、uint256_tさんが作っているブラウザのコードを読んだ。CSSについて理解しようと思ってRustで簡単なパーサーを書いているときにcss.rsがとても参考になっている。あとC0というアニメーション作成ソフトのソースを読んでいる(Macアーキテクチャ依存だったので動かせず、読むしかない感じになっている)
 CTFをして、競プロをして、創作をして、ソースコードを読んでいたら10月が過ぎ去ってしまった。何も作れなかったけど、振り返ると自分のやりたいことが整理できて、絞れたのでよかった。
 ポエムを書きます。僕は小さな頃から、体の調子が悪くてアレなとき、病気から復帰してもっとがんばろうと思ったときの原動力が常に物語にありました。それは本だったり、音楽だったり、アニメの形をしていて、命の恩人と言ったらおおげさだけど、自分を虚無とか闇の類から救ってくれたものだと思っています。だけど、それらに関わるには僕はもう年をとりすぎていて、趣味では物語を作ってみたりするけれど、仕事にはできないなぁと思っています。そういう、心の中に閉じ込めていた大事な思いのようなものが、どうやらCSS Animationを作ったりしたあたりからどうにも抑えられなくなって、将来はアニメーションに少しでも関わる職に就きたいなあという思いが強くなってきました。もともと機械学習がおもしろいなと思っていて、数学が好きなのでそのあたりも活かせそうだし社会的な需要もあるしこれでいこうと思っていたので、アニメーションと機械学習の交差点の能力を強めていこうと思っています。dwangoがアニメーションの中割りをdeepでやろうとした研究とかが近いのかな。そういう、自分がどの道に行きたいのか再確認できたこと、やっぱり好きなものは好きでそれに向けてなら覚悟ができるということ、そういうことがわかったのは、この一ヶ月で大きかったと思います。クリエイターのお手伝いができるようになりたいし、あわよくば自分も物語を作ってみたい。がんばろう。

10月になりました

9月振り返り

 CTFを勉強する集まり、GrowthKeys内でバイナリ演習を開いた。そのためにバイナリ問を集めて、Firebase Realtime Databaseを使ったflag checkerとスコアボードのようなものを作った。とはいえ、DBを直接フロントに繋げる激ヤバ構成だった。早い方がいいと思って一日で作ったので仕方ないけど…
 次回の演習に向けた環境づくり。flag checkerとスコアボードの機能を備えたwebサービス、gkctfsystemの開発をしている。具体的には、はじめRails+Vuejs(TypeScript)という構成を検討して、TypeScriptを使いこなすには時間がかかりそうなこと、Railsはサービスの規模に合わない(チーム内で使うだけなので)ことからFirebase Hosting+CloudFunctions+FirestoreとVuejs(JavaScript)という構成に変更。
[CTF] 毎週出て復習のサイクルを回す → SEC-Tとpicoの二つしか出れなかった。Pwn埋めも、復習も追いついていない。
[競プロ] 精進する → 精進できてない…水色になった(わーい)。緑に落ちてもまた上がればいいやという気持ちでがんばろう。習慣にしないと時間がとれないので、朝早く起きて競プロをする。
[開発] Rails+Vuejs → 構成を変更した。詰まることが多くてつらいけど成長を感じるのでよい。
[CSS Animation] 文字の研究 → 何もできなかった…
[受験勉強] センターをやる → センターをした

10月の目標

[開発] gkctfsystemにログイン機能とDBとやりとりするAPIサーバ(Cloud Functionsだけど)を追加。flag checkを行うサーバの導入を検討する(現状herokuやglitchなどでspinupが遅い問題があって、スケジューラを回すとかで対応するか、GAEにするか…)
[受験勉強] センター埋め(10年以上)、二次の模試に向けて傾向の把握と問題集埋め、英語をやる。
[CTF] 模試があるけど、SECCON CTFに出る。Pwn埋め。
[競プロ] 朝にまだ解いていない400以上をやる。
[CSS Animation] 素材づくりをする。
[Misc] 本を買ったので読みます。

考えたこと

 こうしてみると思ったより一か月でできることは少ないんですね。特に開発に時間を割いていた気がします。今まで、「これが作りたい!」という欲求があまりなかったけれど、CTFを通して簡単なシステムが作りたいと思うようになり、開発へのやる気が湧いてとてもいい感じ。そのうち競プロのオンラインジャッジを作ってみたい。
 作りきる方向に舵を切る、と決めて、実際激ヤバ構成でもなにかを作って動かして(チーム内だけだけど)人に使ってもらったのはとてもよかった。自分の作ったものを使ってもらえるというのはすごいことだなあと感じた。
 あと、今までJavaScript書くときは何も入れずに素で書いていたので、環境を整えてみるとprettierすげえ、などの感動があった。

今年も残すところ4ヵ月となりました

 これは自分用メモです。
 東大でうにゃうにゃの話が多くの人に見てもらえて、ビビッて何も書けなくなってしまった。でもさすがにもう誰も見ていないと思うので、ここにそのときそのときの思考を残していこうと思います。自分用であっても、よそ行きの形にきちんとまとめることは大切だと思うので。

人生

 地元の大学に通いなおすことを親から許されました。もう親に申し訳ない気持ちでいっぱいです。東大でうにゃうにゃの記事のおかげでいくつかの会社から声をかけて頂きました。ただ、自分としては日常生活に支障はないけれど仕事の負荷に耐えられるか当時は微妙だったので、すべて断ってしまいました。今は元気になってきたので、もし今声をかけられたら受験終わった後にインターンに行きますと返事をしていたかもしれませんが、人生はタイミングがすべてです。まさかあんなに多くの人に見てもらえるとは思ってなかった。ただ今は機械学習をやっていないので、本当に需要のない存在になってしまっています。
 大学に進みたいと親にお願いしたのは、プログラミングをはじめて間もないのに就職できるだけの自信がなかったからです。未経験でもソフトウェアエンジニアになれる!みたいな話はよく聞きますが自分にそれができるとは思えませんし、うーん、それほんまかと思ってしまいます。プログラミングの諸概念、難しくないですか…情報科学もある程度必要だし、フロントエンドにせよ、バックエンドにせよ、覚えることが山ほどあり、正直無理だと思いました。
 あとは、ここで就職して職を失って故郷に戻ったときなどいろいろな最悪ケースを考えていくと、学位を持っていないのと持っているのとでは人生で放り出されたときに生きていくための手段が変わってくるという理由です。もしできるなら、親に迷惑をかけても大学に通いなおす方が後々迷惑にならないかもしれない。これは逃げで言い訳なんだろうなーと思いつつ、真剣に考えた結果なので親に感謝しながら精進を積んでいくつもりです。

機械学習

 今は機械学習をまったくせずに、とにかくいろいろ自分の興味のあるものを触っています。元々は、機械学習からプログラミングをはじめて、kaggleのdiscussionをpythonに翻訳できない、kernelを写経してもなにをしているのか全く分からない状態だったので実装力をつけて再挑戦しよう、という気持ちで競技プログラミングをはじめました。当時はforやifができるか…?くらいのレベル感だったのでこの選択は正しかったと思います。Twitter競技プログラミングをしている人々を見て、すごい人が多いなぁ、なんでもできる人が多いなぁと思い、競技プログラミング以外にも興味が広がっていきました。結果実装力を高めて機械学習をはじめるコースから見るとあきらかに回り道をしてしまっています。迷走している感じがして振り返るとつらい。
 kaggleで挫折を感じたときは、実装力が足りない、情報科学とプログラミングをがりがりかける能力が足りないという風に考えていました。でも今競技プログラミングやいろいろ興味のある分野を学んでみて、自分に足りないものは「文章や数式で書かれた複雑なアルゴリズムを理解してコードに落とし込むこと」「それを動かす環境を構築してアルゴリズムの有効性を検証すること」だと感じています。有名なアルゴリズムを覚えるというより、複雑な手順をスッとコードに落とし込む能力みたいな。もう少しこの能力を身につけてAtCoderで水色になってからkaggleに再挑戦したい。

これまで興味を持った分野

 現時点で興味のある分野を列挙します。
[競技プログラミング] 水色になりたい!最近まったく精進できてないので自分しっかりしてくれ…
[CTF] とても楽しい。こればっかやってる気がするけど一向にうまくならない。つらいね。でも場数を踏んで復習する、続けること、時間をかけること、でモチベーションを保ったままだんだん強くなれると思っています。
[Rails] 普通に難しくて何も作れなかった。これ初心者でやる人はすごい。あと、何が作れるのか、作りたいものは何かが見えなくて苦痛に感じてモチベーションが低下したのもあきらめた原因だと思う。最近作りたいものができたので再開する機運が高まっている。これは、いろいろな分野を見てこれはなにができるのか?ということが少しずつ分かってきたおかげだと思う
[CSS Animation] サマーウォーズをモチーフにしたCSS Animationを8月頃に公開した。自分の中で唯一作りきった感覚がある。たくさんいいねもらえてうれしかった。今はひたすらMVとか見て自分の好みの表現を集めている。Violet EvergardenをモチーフにしたCSS Animationが作りたい…作りたい…!
[Rust] 優先度で後回しになっている。
[Javascript] 非同期、同期が理解できてきた。Vuejsを始めた。VuePressで競プロの自分用メモを書くためのブログを作っている。(webpackの理解とかに時間かかったけど、VuePress自体はとても簡単でびっくりした)
[Linux] 自分には難しい。楽しいんだけど、本質的な理解にたどり着けてない感覚があってうーん…CTFでコマンド操作に慣れた。30日OS本をやりたいのだけれど、優先度で後回しになっている
[バックエンド] ISUCONに出てみたい。競技の形をしていると楽しく学べる気がする。今のところ記事を読むだけで過去問を動かすことすらまだできていない。

 こうしてみると競技プログラミングCSS Animation→CTFという感じの流れで時間のわりに大したことができてなくて焦る。

これからと、なんかいろいろ考えたこと

 全体的に迷走しているので、今年もあと少しだし、「作りきる」方向に舵を切っていこうと思います。具体的にはRailsとVuejs、あとJavaScriptあたり。それと、競技プログラミング
 CSSは息抜きにして、やることをもう少し絞っていきます。一か月に一個くらいしかできないので、Rust, Linux, バックエンドとかはもう今年はあきらめる。
 やりたいことをやっていくと、自分の手の届く範囲しかやらないという現象が起こる。これに今とらわれているので抜けだしたいです。
 だんだん周りが見えてきて、自分はそこまで賢くないということが分かってきた。どうやって生き残るかというと、やはり機械学習バブルのような場所を渡り歩くというか、誰もができるわけではなくて評価が甘くなりがちなところで勝負を仕掛けていかないと生き残れないという危機感が大きい。
 あと受験。正直これから受験にシフトするからあまり精進積めない気がする。東大じゃないから大丈夫だろ、と思って痛い目を見るのはとても悲しいので、油断せずにきっちり詰める。

 精進あるのみ。がんばろう。

東大で降年、留年、休学をしてこれから退学する話

 退学することをほぼ決めてから、ブログをいろいろ見たりしていると、あまりにも優秀な人が多くて悔しくなってきたので書きました。これは人生の失敗談と、これからがんばっていくぞという話です。

1年目
 僕はもともと頭の出来が悪くて、それを人より何倍もの時間をかけてカバーする人間でした。ゲームをしたり、友達と遊んだりといった記憶はあまりなくて、どちらかというといつも時間をかけてなにかに取り組んでいた気がします。特に中学3年生の頃から数学に憧れて、ひたすら高校数学をやっていました。そして、努力の結果、東大に受かりました。合格祝いで先輩から言われた、「自分の力で手に入れた環境を色んな見方で楽しんでいってほしい」という言葉がほんとうに嬉しくて、やったぞ、俺はやったぞ、これからは自分の手で未来を切り開くんだ、やっていくぞという気持ちを抱えて東大に入りました。
 そして、いろいろあって、足の病気になって詰みました。
 後から分かったことですが、このとき同時に躁うつ病がはじまっていたらしく、精神的にもダメでした。前期(Sセメ)のテストに行けず単位をほぼ落とし、後期がはじまってからもキャンパスに通うのがつらくなり、結局数学のテストだけ受けました。出席してなかったからなのか、テストの点が悪かったのか、49点で数学の単位も落としました。

 

2年目
 本当は1年目で自主留年か、休学の申請をすべきでした。というのも、降年してから単位を取りにいくのと自主留年して単位を取りに行くのでは後者の方が他クラス聴講の50点制限がない分有利だからです。(しかし、東大は毎年制度が変わっているので、現役の方は手引きなどを見てください)当時は手引きを見る気力すらなく、精神的につらい中教務課に何度も質問をしに行きました。一般に、教務課は学生のみを相手にするときアレなことがあります。これであれこれされてもアレなので詳しいことは書きません。(これは事実ですが、僕が3年目に休学を決めたとき学内の主治医の方が、「休学手続きで教務課の人と話をするなら、大人がついて行ったほうがいいね」とおっしゃってつきそってくれました。)精神的につらくて、それでも教務課と話をしなければならないときは、大人の人と一緒に行った方がいいと思います。学内には頑張って調べれば助けてくれる大人がいます。もちろんハズレもいるので、本気でガチャを回しましょう。もし、調べる気力がなかったり、ガチャが無理ならあきらめて、休学をした方がよいと思います。結局、訳も分からず精神的ダメージのみを蓄積させて6月になり、そこではじめて「自分は精神的な病なのでは?」と思って家の近くの精神科に行きました。
 ハズレを引きました。
 単純に、医者と患者は人と人との関係です。その人が悪いのではなく相性なのだと思いますが、割とこれはハズレだなーと今でも思います。とにかくうまくいかなくて、自分は嘘をつきまくり、自分が病気であることを証明するためだけに医者に通っていました。そして医者に通うこと、嘘をつくことそれすらもつらくなって、10月にはまったく通わなくなりました。前期も、そして後期も、すべて単位を落としました。前期から後期にかけて降年しました。精神的にこのあたりがほんとにやばくて、それどころではありませんでした。8階に住んでいたので、死ぬか生きるかという線をずっとずっとたどっていました。
 そして留年して、1年生になりました。

 

3年目
 躁うつ病の人にはあるあるだと思いますが、春がめぐってきて元気になりました。大学に通うぞという気力が湧きました。これは躁です。まったくよくないのですが当時はいけるぜ、ここから挽回するぞという気持ちでいっぱいでした。東大では前期が4年間までなので、後がないという気持ちもそれに拍車をかけていたと思います。本当に人生は難しいものです。
 それでもよかったのは、ここで学内の保健センターに通い始めたことです。とてもよいお医者さんに恵まれて、ここではじめて躁うつ病と診断されました。
 しかしまた6月頃から鬱の波がやってきます。とてもつらくてどうしようもなくて、なにかを吐き出したい、家族にも、友達にも言えない気持ちを投げたいという思いからはてなアノニマスダイアリーに投稿したりしていました。これでちょっと気が楽になったりしました。
 薬をいろいろ試していて時間が足りなかったというのが振り返ってみたときの結論です。自分に合ううまい組み合わせが見つかったときはすでに8月で前期の単位を落としており、後期でうまく挽回できる自信もなかったので休学を決めました。主治医の先生と別れるとき、「あなたは自分のことをよく分析できていて、その病気を抱えているからこそできることがきっとあるよ」と声をかけられたことを覚えています。基本的に一人なので、こういう優しい言葉をかけられるとどうしても心に刺さっていつまでも大事にしてしまうんですよね。今書いていて泣きそうになりました。病状はかなりよくなって、躁鬱の波もほとんどなくなったけど、いつかこのためにこれがあったのかと思えるようなときが来るのかな。来たらいいなぁ。
 休学してしばらくは寝ていました。ほんとうにただ寝ていました。そして、4年目が巡ってきました。

 

4年目
 一年間休学すると決めたので、今年の夏まで休学です。(一応、まだ様子見なのでもろもろ決めてから退学することにしています。)無事医者を見つけて薬などの情報を引き継ました。そして3年目の10月から精神的に元気になってきました。これは躁ではありません。機械学習にあこがれて、kaggleに取り組んでカーネルすら超えられなかったのもこの時期です。そもそもプログラミング自体がはじめてということを思い出し、実装というか、ifとかforが分からないので4月から競技プログラミングをはじめました。(本当は去年夏にも興味があって少しやったのですが、精神的に荒れていたのですぐに挫折していました。なので再挑戦ということになります。)
 最近になって、ようやく自分の進路と向き合う勇気が出てきました。機械学習系か、数学系に進みたいなと思っていたのですが見ての通り、進学選択に参加するのすら怪しい状況です。また、東京にしがみついていたせいでお金がなくなり、地元の大学に通う方がよいという状態になってきました。というか、学費すら怪しいと思っているので、大学に通うことができるのかどうか、まだ親と相談している途中です。このままド田舎で就職先もなくたとえ就職したって撤退戦のようなことを繰り広げるよりは、ぎりぎりまで粘って4年消費して大学に通い、その間に技術を身に着けて東京に行きたいという気持ちがあります。特に学生というライセンスがなければ、インターンなどもきつい、という認識なので。(これはソフトウェアエンジニア周りのイメージです。)

 これで僕の失敗談は終わりです。別に就職先を得て退学するわけでも、起業して退学するわけでもありません。この先が見えず真っ暗な中、手探りで毎日ひたすら情報科学とプログラミングの基礎を勉強しています。それだけです。

 

数学
 そもそも、僕が東大を目指したのは中学3年生のときに行ったオープンキャンパスがきっかけでした。当時、数学に憧れていたので迷わず数学科の模擬授業を受けました。5次以上の方程式には解が存在しないと思っていたので無限回の操作で解けることに衝撃を受けたり、質問コーナーで憧れの数学科の人たちにlogzのzを複素数にした場合はどうやってlogを定義するのか質問をしたりしました。生意気な子供だったと思います。数学が好きな人の中には、ガロア理論を知ったかぶりして有限回の操作というところを見落としちゃったり、なんでlogの導入には積分もあるのに学校ではそれを採用しないんだろうみたいな疑問を抱いた人もいるのではないかと思います。割とあるあるな気がする。
 当時は親から、何やってるんだこの子はと思われ、周りには友達はおろか先生さえもあまり理解をしてくれなくて、ひとりぼっちだなぁと思っていた自分には、東京がとても素敵な地に見えました。大きくなって、東大に進学して、周りにそんなたくさん数学が好きな人がいるわけじゃない(これはクラスによります)と分かっても、東京という地がそれほど理想的なところじゃないということを知っても、それでも僕の中にはこの風景があって、今でも東京への憧れが強く存在しています。
 そして、この年になって、数学者はおろか就職すら怪しくなった状態でもまだ数学が好きです。精神が(本当に)安定してきたのと、Twitterを始めて僕より数学がつよい方々を見ていて趣味で数学をやるのもいいなあと思って、息抜きに岩波の数論Ⅰを読んでいます。久々なので、群とか環辺りから復習をして、一ページ一ページきちんと読んでいます。楽しいです。いつ数論Ⅱに入れるのか定かではありませんが、小さなころに憧れていたフェルマーの最終定理を、いつか概形だけでも追えるようになれたらいいなと思います。

 

今やっていること
 これはお願いなのですが、ソフトウェアエンジニアとして食っていくために僕はどういうことをすればいいのか分かりません。これを読んだ方の中にソフトウェアエンジニアの方がいらっしゃいましたら、私はこのスキルで食っています!というのをぜひ教えてください…。(というかここまで読み進める人はいないと思うのでアレですね。)参考までに、今やっていること、興味のあることを載せます。まともにプログラミングを始めたのは今年に入ってからで、覚悟を決めたのは最近のことなので、実質何もできていませんが…

- [機械学習]PRMLを読んでいる途中。3回やって、kaggleは自分にはほんとにまだ早いと悟ったので基礎から学んでいます。参加しても、カーネル写経だけになっているのがつらくなったので。
- [Rails]Rails Tutorialを読んでいる途中。とりあえずRailsでなんらかのwebサービスを作りたいという思いがあります。
- [Rust]TRPL2ndを読んでいる途中。これは憧れです。あと、何年か後には所有権などの概念が大事な世界になってくるのではという勘があって、学んでおきたいと思ったからです。
- [CSS]CSS Animationで遊んでいる。yui540さんのアニメーションが好きです。いつかサマーウォーズの非公式ファンサイトを作りたいなぁと思いながら小さなアニメーションで実験を繰り返しています。
- [JavaScript]とりあえず新しいやつを学んでnodejs, フロントエンドのJSでHello Worldをしました。非同期処理とか、コールバックあたりがまだよく分からない、というレベルです。PeerJSを触って、webRTCってすごいなぁと思ったのですが世界があまりに複雑すぎたので、3分間networkingを読み進めています。
- [Linux]Linuxのしくみという本を読んでいます。手を動かして学べるので楽しいです。
- [競技プログラミング]楽しいです。複雑なアルゴリズムを把握する、というのが機械学習を学んでいて自分に不足しているなと感じたので、ここでその能力が鍛えられるのではという期待があります。

 以上です。今になって思うのですが、健康で努力ができるというのはほんとうにありがたいことです。この先どうなるか分かりませんが、命を燃やして、がんばってつよく生きていこうと思います。

ABC100-D Patisserie ABC

解けませんでした。コンテスト中に何を考えていたのか、どうすれば解けるようになるのかという自分用メモです。

[本番中の思考過程]

  • まず、マイナス、プラスに関してmaxそれぞれ求めて、あとでmaxをとればいいの発想(Chocolate bar が頭をよぎった: いくつか候補があるなら、それをすべて求めて最後に比較という考え方)
  • dp[i]: i個選んだ時のmax。これは、プラス→マイナスの遷移を考えると、dp[i個め][xの総和][yの総和][zの総和]を持っておかなくてはならないという気持ちになり無理筋と判断(RGB Coloring を思い出した: DPのインデックスで無理が出て、DP以外の解法を探す)
  • x-,y+,z-みたいなときめんどうだなぁという気分になる
  • ここで、すべての基本は全探索を思い出して2Nとか思うけどN=1000だからうーん、N2 logNくらいまで許容だなぁという気分になる
  • +-めんどうなので、8通りすべて試したい。そもそも|x|+|y|+|z|=max{ax+by+cz | a,b,c=-1,1}
  • マイナスが面倒だなぁ
  • そもそも400なので、貪欲とか累積和とかでは?→貪欲を実験してみるとサンプルと合う
  • 変な貪欲をしていた。

[どうすれば解けたのか]

  • 絶対値はめんどうだなぁという気持ちから、全て試してしまおうという気持ちになること。
  • 貪欲であることに気づく

の2点が大事。

あと、8通り試すのか?という気持ちになったが制約、回せるところを考えると(今回だと+-の8通り、入力の103通り、x,y,zやその総和1010)小さいところで回すのが基本なので、8通りくらいならやるかーという気持ちになる必要があった。

あと、シンプルに考える。実装や思考が複雑になってきたら、そもそもの自分の手持ちのカードをよく確認する。

[感想]

結構気づけているのに通せてないのは複雑に考えすぎている気がする…。

code