GCJ 2013 Round 1C A

各位置から最小どこまで取れば条件を満たすか探索し
それプラス残りの文字数分だけ組み合わせが作れる。
O(N^2)では処理時間足りないので後ろから効率的に探索。
GCJ 2013 Round 1C B - small

連続する2回分でプラスとマイナスすると1進める。
smallは最短手数条件がないので問題なし。
GCJ 2013 Round 1C B

n手使うと1〜nの合計値までの距離の1〜nまでの合計値が偶数ならx+y偶数の点、奇数ならx+y奇数の点すべてに移動できる。
※ 1〜3くらい試すと直感的にもわかると思う。
すなわちX+Y<=sum(1〜n)かつ(X+Y)%2==sum(1〜n)%2を満たす最小のnを見つければ最小手数がわかる。
1〜m手使うとその位置を中心にsum(1〜m)の範囲動けるのでn〜1の順に目標位置X,Yに近づく(X,Yの遠い方に近づく)ように方向を決定すれば
OK。