0124 - League Match Score Sheet
#include <functional> #include <iostream> #include <map> #include <string> using namespace std; void Slove(int n) { int win, draw, lose; string country; multimap< int,string,greater<int> > data; for (int i=0; i<n; ++i) { cin >> country >> win >> lose >> draw; data.insert( multimap<int,string>::value_type(3*win+draw,country) ); } for (multimap<int,string>::iterator it=data.begin(); it!=data.end(); ++it) cout << (*it).second << "," << (*it).first << endl; } int main(void) { int n; bool flg=false; while (cin >> n && n) { (flg)? cout << endl : flg=true; Slove(n); } return 0; }
キーの重複が許容出来るmultimapを使って解いた。