Topcoder SRM 503 Div1

またもや死亡なうと言った感じ。

x-- 0.0Pt.

試合前

少し熱気味でしたが久しぶりだったので参加したかった。

Target1人 Red4人 Blue4人 他Yellowとかいうとんでもない部屋に当たる。


250 ToastXToast?

絵が・・・よくわからない・・・。問題文・・・よく分からない。サンプル・・下の絵っぽくなりますとしか書いてない。。。

→(そんなこんなで20分経過)そして、やっと分かる。

→時間軸的に、○●○○●○●的な感じで与えられてたら○●|○○●|○●にすればいいとか思う。

→最後のテストケース合わない。手でやってみたら2になることが分かる。

→これ最大2じゃね。反例とか考える。思いつかない。

→○○●●みたいになってたら1で、○●○●○●とかになってたら2だ!

→書く。

→コーナーケースは、最後に○が来る時だよね。(半分正解)

→出す。157点くらい。

500 なんちゃらXなんちゃら

まだ提出者1人しかいない。難しいのかな。

→問題読む。なんか最小全域木っぽそうだったので、そんな簡単じゃないだろさすがにと思いつつサンプルも見ずにとりあえず書く。

→合わない。

→期待される総和って期待値的な何かですか・・・

→期待値とか確率とか苦手なので諦める。

しんどいので他のことをしたりする。

250の反例考えろやとか思ったけどもう遅い。

そろそろ終わりかけ

チャレンジに向けて予防も250の反例ケースつくっとくかぁ・・・。

→あれ、俺のコード最初に●来たら死なね?

→コーディングタイム終わり

5分休憩

絶望するきゅうり。

チャレンジフェーズ

とりあえず最初に●来て死ぬコード書いてる人探すけど、みんなの方針が自分のコードと違っていてコード読むのに少し時間掛かる。

→その間にブルーな人が落とされる。

→他の人も探すけどそんなコード書いてる人居ない。ああ・・・。

→いちおう500の距離をintで二乗したりしてる人(オーバーフローしてる人)探す。さすがに居ない。

システムテスト

結果は分かりきっているし、さすがにしんどいので寝ました。翌日見たら結構最下位でした。

結果

x--,0.0Pt 647位くらい。

レート:12411171。またDiv2降格。悔しい。。。。

感想

僕がDiv1Mediumで書いたコードはDiv2Hard(別の問題)で通るコードだったそうです。何してんだ俺。

あとで通した250

自分の手動の解き方をそのままコードにしたので無駄なことをしている。

int bake(vector <int> un, vector <int> ov) {
	int ans = 0;
	vector< pair<int,int> > v;
	rep(i,un.size()) v.push_back(make_pair(un[i],0));
	rep(i,ov.size()) v.push_back(make_pair(ov[i],1));
	sort(all(v));
	vector<int> e;
	rep(i,v.size()) e.push_back(v[i].second);
	if(e.back() == 0 || e.front() == 1) return -1; //ここが一つ足りなかった!
	e.erase(unique(all(e)),e.end());
	
	if(e.size() == 2) return 1;
	else return 2;
}