夢追い人

"It takes a dreamer to make a dream come true."―Vincent Willem van Gogh

SRM 172 Div.2

今日はUbuntu11.04へアップグレードしてたらこんな時間に・・・(^^ゞ

まぁMozcがバージョンアップして、まともになったんでよかったですw

意外と手こずった

なんか縄跳びをするとき縄を回す人が自分の身長に近い人がいいのでそのような人を求める(できれば高いほうがいい)

簡単な要約ね。
なぜか手こずって今日はこれで一時間費やしてしまったorz

class SkipRope {
   public:
   vector <int> partners(vector <int> candidates, int height)
  {
	sort(candidates.begin(), candidates.end());
	vector<int> ans(2);
	int res=1000000000, pos=0;
	for (int i=0; i<candidates.size(); i++) {
		if (res>=abs(candidates[i]-height)) {
			res = abs(candidates[i]-height);
			ans[1] = candidates[i];
			pos=i;
		}
	}
	cout << ans[1] << endl;
	res = 1000000000;
	for (int i=0; i<candidates.size(); i++) {
		if (res>=abs(candidates[i]-height) && i != pos) {
			res = abs(candidates[i]-height);
			ans[0] = candidates[i];
		}
	}
	if (ans[0] > ans[1]) swap(ans[0], ans[1]);
	return ans;
  }
};

pairで計算量は減らすことができます。
けどまぁこれでST通るんで、まぁいいということで。