No.398

最低点 とこれを出した人数 , 最高点 とこれを出した人数 でループを回す.

ループ内では, 人で 点を作る組み合わせの数を求める. ただし, このときに使える数は区間 内の数値のみである.

これは として, 人で 点を作る組み合わせの数となる. ただし, 使える数は区間 内の数値のみである. は最大で であり, は最大で なので, これはあらかじめ計算しておく.

さて, 組み合わせの数が決まったので, これに最低点を出した人数が で最高点を出した人数が になる組み合わせの数を掛ければいい. この組み合わせの数は である.

最後に が整数ならば全員同じ点数の場合の1通りを足す.