Codeforces Round #201 (Div. 2)
はい。
http://codeforces.com/contest/347
A. Difference Row
ざっくりと大意
・(\(x_1\)-\(x_2\))+(\(x_2\)-\(x_3\))+...っていうので計算結果が最大になる並べ方で辞書順で並びが早いものを出力??
方針のようなもの
・総当りとかしてたら時間がいくらあっても足りないかと思ったけど、先頭にmaxと末尾にminを配置すれば中間はどんな並びでも計算結果は同じっぽい気がする。あんまりしっかり確認もしてないし証明も考えてないけど。。。。
・ということで計算結果が最大になるものは沢山あるけど辞書順ソートも忘れずに。
n=input() x=map(int,raw_input().split()) b=x.index(max(x)) h=x.pop(b) s=x.index(min(x)) t=x.pop(s) x.sort() print h,' '.join(map(str,x)),t
maxとmin位置を先に調べてからswapとかしてたせいでminの位置がずれたりして無駄WAした。。
B. Fixed Points
ざっくりと大意
・なぜかA問題よりAC多いらしいけどぱっと見よくわからないので後で