https://atcoder.jp/contests/abc406/tasks/abc406_e難しい問題ではないです。例の20は1足して21にすると考えやすいです。これを二進にすると10101です。 二進で10000は16ですが、[0, 16)の範囲はまとめて考えられます。1は2個なので、4C2=6通りあります。各ビット当たり何回1になるかというと、まずどこかのビットが1だとすると、残り3ビットで1個なので、3C1=3通りあります。全てのビットで3回1になります。なので和は15*3=45です。 次に[16, 20)の範囲をまとめて考えられます。残りの1は1個なので、2C1=2通りあって、各…