2218 Does This Make Me Look Fat?

問題概要

何人かがダイエットに挑戦する。
人の名前および、ダイエットの日数、ダイエット前の体重が与えられる。


ダイエットは、一日ごとにちょうど1ずつ体重が減る。
このとき、ダイエット後の体重が重い順に各人を並べ、名前を出力せよ。

解法

番組出演時の体重でソートする。
問題文の意味がよくわからない部分があったが、ダイエット終了時の体重は0ポンド以上と仮定してよいかも?

ソースコード

int main(){
	string str;
	bool f=1;
	while(cin>>str)
	{
		vector<pair<int,string> > p;
		while(cin>>str,str!="END")
		{
			int a,b; cin>>a>>b;
			p.pb(mp(-max(b-a,0),str));
		}
		sort(p.begin(),p.end());
		if(f)f=0;
		else cout<<endl;
		rep(i,p.size())cout<<p[i].second<<endl;
	}
	return 0;
}