久しぶりに AtCoder の結果(11/15 実施分)を投稿します。
最近はATCODERにあまり時間が取れていませんが、一応、週末のコンテストには参加しています。
今回の ABC432 は、A・B の 2 完でした。
C 問題には 1時間20分 かけましたが、残念ながら正解には届かず……。
■ C問題について
問題はこちら:
https://atcoder.jp/contests/abc432/tasks/abc432_c
内容は、2種類の重さの飴を子どもたちに決まった個数ずつ配り、「全員の合計重量を同じにするとき、重い飴の総数はいくつか?」というものです。
例えば、重さ 6 と 8 の飴があって、3人の子どもに 11 個・10 個・13 個ずつ配る場合、
全員の総重量をそろえるときの 重い飴(8g)の合計個数を求めます。
▼ 解法のポイント
公式解説動画を見て、私が理解したポイントは次の2つです。
① まず「全員が重い飴だけをもらった場合」の重さを基準に考える
そこから、必要に応じて軽い飴に置き換えて重さを調整します。
② 重い飴→軽い飴に置き換えるときの条件を満たすか確認する
-
軽い飴1つに置き換えると
(重い−軽い)だけ重さが減る -
減らす必要のある重さがこの差で割り切れなければ破綻
-
軽い飴の必要数が負になったり、与える個数を超えたら破綻
試験中に、②の条件はなんとなく把握していて、コーディングを行っていましたが、
「まず全て重い飴で作り、その状態から調整する」という整理に上手く辿り着けず、時間切れになってしまいました。
公式解説動画はこちら:
https://www.youtube.com/watch?v=tMuNagZpHwk&t=5277s
■ パフォーマンスについて
結果は パフォーマンス 360 で、
レーティングも 549 に下がってしまいました。
ちょっと凹みましたが、
これからも無理のない範囲で参加だけは続けていこうと思います。