#include #include #include using namespace std; typedef struct { double total; double n; } Data; main(int argc, char **argv) { map all; map ::iterator mit; string tech; double t; double avg, bestavg; Data *d; while (!cin.fail()) { cin >> tech >> t; if (!cin.fail()) { mit = all.find(tech); if (mit == all.end()) { d = new Data; d->total = 0; d->n = 0; all.insert(make_pair(tech, d)); } else { d = mit->second; } d->total += t; d->n++; } } for (mit = all.begin(); mit != all.end(); mit++) { d = mit->second; avg = d->total / d->n; if (mit == all.begin() || avg < bestavg) { bestavg = avg; tech = mit->first; } } cout << tech << endl; }