/** * author: ekusiadadus * created: 18.08.2021 13:43:33 **/ // #include #include using namespace std; map < int, long long > m; double get_median() { if (m.size() % 2 == 0) { int cnt = 0; double ans = 0; for (auto it: m) { if (cnt == m.size() / 2 - 1) ans += it.first; if (cnt == m.size() / 2) ans += it.first; cnt++; } return ans / 2.0; } int cnt = 0; double ans = 0; for (auto it: m) { cnt++; if (cnt == m.size() / 2) ans = it.first; } return ans; } int main() { // ifstream in ("input.txt"); // if (! in ) { // cerr << "Error" << endl; // return 0; // } // string str; // int x; // while (getline( in , str)) { // stringstream stream(str); // while (1) { // stream >> x; // if (!stream) break; // m[x]++; // } // } int n; cin >> n; for(int i = 0; i < n; ++i){ int x; cin >> x; m[x]++; } cout << get_median() << endl; return 0; }