http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2439さすがICPC・JAG非公式難易度表でたくさん星付いてるだけあって、良い問題だった。solution上から順に見ていくDP。\mathrm{-}$の走者に関して、これは無視できる。全ての走者は順位変動を起こすとしてよい。[0,k)$までを見て、この区間$X$での遷移の状況を決定することを考える。B$のような遷移に関して決定できないまま残る。このような遷移の数を$i,j$とおいて併せて持つことにより、その区間での遷移の状況を決定できる。B$の遷移の数$j$とを決めると、そのような状況下での元々のありえた通過順の数が計算できる。これはDPで全ての$i,j,k$に関して計算でき、答えが求まる。