A | B | C | D | E | F |
---|---|---|---|---|---|
水 | 青 | 橙 | 赤 | 赤 | 赤 |
1348 | 1861 | 2578 | 2937 | 3101 | 4612 |
※コンテスト終了時順位、実行速度は同言語内のみ比較
2時間かけて1問も解けず
とはいえそれを悔しいなどと言えるレベルでもなし
水diffのA問題(300点)だけなんとか自力AC
(周知の事だが、配点は難易度の基準ではない)
計算量を過大に見積もって無理な高速化に挑んだ挙句、手に負えなくなって撤退
単純な実装に立ち戻って速度を評価したところ、全然間に合ってしまい脱力するなど
ただこの単純な実装というのが結構なショートコードだったようで、その時点での最短1位を獲得した
そしてこれを短縮した改訂版が、コードゴルフ上級者の改変元(たたき台)として採用されたようだ
十分に無駄のない品質と評価されたことはとても嬉しい
だがそれ以上に、自分のコードを元を修正してくれるので、ゴルフの添削となっていて大変ありがたい
参考になる書き方があったり、詰めが甘い部分が見えたりして実に勉強になる
-i-1 == ~i
つい忘れがちだけど、積極的に使っていきたい
標準入力っぽいの($<, ARGF)はEnumerable
grep, map, sumなどを使って行単位処理できる
配列のi番目以降が欲しいときの書き方
1. Ary[i...Ary.size]
2. Ary[i..-1]
3. Ary[i,MAX]
4. Ary[i..]
Rangeの終端を省略した4番は目から鱗だった
(0..).each みたいなのが書ける時点で気付くべきだったかもしれない