📚

ABC368 C - Triple Attackを理解し忘れないようにする

2024/08/25に公開

https://atcoder.jp/contests/abc368/tasks/abc368_c

問題概要

Tが0なら先頭の敵を-1,3の倍数なら-3して最後にTを求める。

不明点

計算量の削減方法、10^5*10^9=10^{14}をどう削減するかが明確になっていない。

解き方

先頭の敵の体力(h)が5以上の時、3回で5ダメージを与えることができる。
この3回1セットの回数は、|h/5|で求められる。
この回数をqとするとTはq*3、hはh%5で求められる。
残りの体力(4以下になる)はシミュレーションすることでO(N)で求めることができる。
残りの体力は、h-=(h/5 * 5)でも求められる。

提出コード

https://atcoder.jp/contests/abc368/submissions/57102643

Discussion