AtCoder Beginner Contest 252 C問題 Slot Strategy
問題
提出解答
問題の概要
個の がちょうど 回ずつ現れる文字列 がある.
各リールは停止していない限り表示が毎秒 と変化する.
秒あたり高々 個のリールを停止させることができるとき, 全てのリールが停止した上で同じ整数を表示させるのには何秒必要か?
制約
- は がちょうど 回ずつ現れる文字列.
解法
全てのリールが停止した上での表示させる整数に関して全探索する.
で揃えるとする. このとき, を となる整数とする (このような整数 は制約から唯一存在する) .
このとき, に対して, にある の個数を と書く. このとき, となる全ての 番目のリールを を表示させて止めるためには, 最短でも 秒必要である. そして, この目標は実際にこの時間で達成可能である.
そして, が異なればリールを同士において, 停止させる操作は互いに行なうことになる. よって, で揃える場合の最短時間は
この議論は をある整数に固定していた. よって, この議論を に対して行い, それぞれの場合における最短時間を求め, それらの最小値が答えになる.