# B - Kleene Inversion (opens new window)
# 概要
- 長さの整数列を回繰り返した整数列をとする
- の転倒数をで割ったあまりを求めよ
# 思考
- 手元で実験すると, の要素ごとの転倒数をとすると, で求められそう?
- 実装する
- テストケース3で詰まる
- MODの取り方がよくない?
- 直しても通らない
ここで30分終了
- editorialを見る
- の内部のみで完結している転倒数と, の内部およびの外部とでできる転倒数の2つに分けて考えると良いとのこと
- 元々の実装だと, Aが単調増加の時のテストケースに対応していなかった
# 解法
- の内部のみで完結している転倒数は, で求められる
- を比較して, となっている数をカウント
- の内部のみで完結している転倒数は個あるので, 倍する
- の内部およびの外部とでできる転倒数も, で求められる
- を比較して, となっている数をカウント
- の内部およびの外部とでできる転倒数は, とを選ぶので, 倍する
- これらの和を取れば良い
# 提出
- https://atcoder.jp/contests/jsc2019-qual/submissions/7331697