No.448

Ameくんが行う処理の難しさの最大値を に決めると, Yukiさんは より大きい難しさの処理をすべて行う必要がある. このときにYukiさんが十分に睡眠を取れるかどうかを調べれば, 決めた のときに処理がすべて行えるかどうかがわかる.

あとは二分探索で を決めれば, Ameくんが行う処理の難しさの最大値を最小化した値がわかる. この値を としておく.

Ameくんが行う処理の難しさの和をなるべく少なくするには, Yukiさんが行う処理の難しさの和をなるべく大きくすればいい.

Yukiさんが 番目の処理までに行う難しさの和の最大値を とする.

このとき, Yukiさんは より大きい処理は必ず行わなければならないので, となる最大の を考えると, の間にそのような処理があれば, 番目の処理は行うことができないので,

となる. そうでなければ,

となる.

なお, はしゃくとり法でもいいし, 二分探索でもいい.