トヨタ自動車プログラミングコンテスト2022 (AtCoder Beginner Contest 270) E - Apple Baskets on Circle (500)
元々のリンゴが少ないかごから昇順で見ていく
それまでに食べたリンゴ、以前に見たかごのリンゴの数、まだ残っているかごの数を持っておく
今回のリンゴの数まで全てのかごで使ってもまだ$ kに満たないなら以下は飛ばす
これは$ 前回との差 \times 残っているかご + それまでに食べたリンゴで求まる
残りの食べる部分を実際にシミュレーションする
$ d = \frac{k-それまでに食べたリンゴ}{残っているかごの数} 周は可能
残り1周は前から実際に食べれるかをシミュレーションする
リンゴの数でソートするのがボトルネックで$ \mathcal{O}(N \log N)