No.032 D

モンスター のこうげき力を , ぼうぎょ力を とする.

個のモンスターについてこうげき力とぼうぎょ力を 平面上にプロットすると, 不安定度はモンスターの点をぴったりすべて収めることができる辺が軸に平行な長方形の長辺の長さとなる.

逆に一辺が の正方形内に 個以上のモンスターの点を入れることができれば, 個のモンスターの最小の不安定度は 以下である.

まずはこれを利用して最小の不安定度を求める.

一辺が の正方形を左下の位置で全探索して正方形内に 個以上のモンスターの点を入れられる正方形の位置がひとつでもあるかを調べる. 左下からのモンスターの数の累積和をあらかじめ計算しておけばこれは高速に計算できる.

そして を二分探索で探す.

が決まったので続いては組み合わせの数である.

正方形の右下が になったときに重複なく数えられるパターンは以下の通りである.

  • 右下にモンスターの点がある.
  • 正方形の左辺または下辺上にモンスターの点がある.

正方形内のモンスターの点の数を , 右下のモンスターの点の数を , 左辺上のモンスターの点の数を , 下辺上のモンスターの点の数を とすると, 組み合わせの数は以下のようになる.

階乗と逆元はあらかじめ計算しておく.

これをすべての について足せば組み合わせの数となる.