SRM662 Div1 Easy "FoxesOfTheRoundTable"
解法
以下の通りです。orz
mayokoex.hatenablog.com
事後
D=1~1000まで全探索すればいいや。
↓
実装に手間取る
↓
ふぅ・・・なんとか時間ぎりぎりにコミット
↓
WA
↓
SRM662でググる
↓
Greedyかよ!!
ソースコード
class FoxesOfTheRoundTable { public: vector<int> minimalDifference(vector<int> _h) { int n = _h.size(); // ソートする int h[55]; int hi[55]; for (int i = 0; i < n; i++) { h[i] = _h[i]; hi[i] = i; } while (true) { bool update = false; for (int i = 0; i < n - 1; i++) { if (h[i] > h[i + 1]) { swap(h[i], h[i + 1]); swap(hi[i], hi[i + 1]); update = true; } } if (!update) break; } // 行き vector<int> ans; for (int i = 0; i < n; i += 2) { ans.push_back(hi[i]); } // 帰り int start = n % 2 == 0 ? n - 1 : n - 2; for (int i = start; i > 0; i -= 2) { ans.push_back(hi[i]); } return ans; } };