Diary 

12/31

ABC-like 、C-Align を解いた。まずsortして、A[0]-A[N-1], A[1]-A[N-1], A[0]-A[N-2],  ....というふうになるべく長いひもをかけるようにすればいいのではと直感的に思いついたが、うまい証明が浮かばなかった。とりあえず最適解ができたとしてA[0]-A[x],   A[y]-A[N-1]がつながっているとする。これをA[0]-A[N-1]とA[x]-A[y]につなぎかえても問題はないなと思った。そして次にA[0]-A[x']とA[y']-A[N-1]がつながっていたとして、これをA[0]-A[N-2]とA[1]-A[N-1]にしても最適解に影響はないなと思った。そしたらあとは帰納的にほかのこともいえそうだな。提出したらACが返ってきた。

解説はもっときれいだった。求める数列の中にPi<P(i+1)<P(i+2)のような部分は存在しない(真ん中のやつを端にもっていっても問題ない)から答えはP0<=P1>=P2<=P3....かまたはその逆か。あとは数式に直せば簡単だった。