https://beta.atcoder.jp/contests/agc008/tasks/agc008_dレート持ってかれた。反省Cまでで時間使いすぎに焦りが加わって間に合わず。solution貪欲に埋める。各$i$について、$x_i$の左に$i-1$個、右に$n-i$個置けばよい。左の項$a_1$を何にすべきか考えると、$x_i$の値が最も小さい$i$にするのが妥当。i$にしないと失敗するとすると、$a_1$から$x_j$までまったく余裕がないことになるが、これを$x_i$の取り方と合わせるといずれにせよ失敗する。$a_2$以降も同様に、(まだ$x_i$の左に$i-1$個置いてないような$i$の中で)$x_i$の値が最も小さい$i$にするのが妥当。このようにして置けば左に$i-1$個の制約が満たされる。これを満たした後逆向きに同様にすれば、右に$n-i$個の制約も満たされ$a$が構成される。