bouzuya.hatenablog.com

ぼうずやのにっき

AGC018 A / ルンバ e5 / Kotlin の infix fun

AGC018 A 考察

agc018 A - Getting Difference

未証明 AC 。箱にはもともとある数字より大きい数字は入らないので A_i の最大値を M とすると K > M なら IMPOSSIBLEA_iK なら POSSIBLE 。そうでないときは A_i の最大公約数をとってそれが K を割り切れるなら POSSIBLE

最大公約数で良いと思った理由はなんとなく。 9 - 4 = 5 5 - 4 = 1 のように差が新しい数字として増えていく。増えた数字に対してさらに増やしていける。あとは 5 - 4 = 1 のように 1 が出てくれば事前に K < M を確かめれば M から引いていくだけなので POSSIBLE になる。どうしていいのかよくわからないけどどことなくユークリッドの互除法的な動きをしている。すべての数字に対して最大公約数を取れば一番細かい差 (?) が見つかるはず。それが K とあっている (割り切れる) なら OK だろうと予想した。あとは 入力例で確かめて適当に投げたら AC した。

https://atcoder.jp/contests/agc018/submissions/16586615

ひどい解き方だなあ。


ルンバ e5 を買った。壊れてから買い直さなかったのでベッドの下がホコリだらけだ。ぼくの代わりに掃除してくれる何かが必要だ。発売から 2 年以上経っているっぽいのですぐに新製品がないか心配だ。

「初任給で買った」ということにしている。転職後の最初の給与を「初任給」と呼ぶのかは知らない。


Kotlin に infix fun があることをいまさら知る。

https://kotlinlang.org/docs/reference/functions.html#infix-notation


リングフィットアドベンチャーを続けている。