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; }