Помощник написания кода на С++

9. Сортировка Map по значениям

#include <iostream>
#include <algorithm>
#include <vector>
#include <map>

using namespace std;

bool CompareIt(pair<char, int> x, pair<char, int> y) {
    return x.second < y.second;
}

int main() {
    map<char, int> data;
    vector< pair<char, int> > a;
    int x;
    cin >> x;
    for(int i = 0; i < x; i++) {
        int y;
        cin >> y;
        data[i + 'a'] = y;
    }

    for(pair<char, int> i : data) {
        a.push_back(i);
    }

    sort(a.begin(), a.end(), CompareIt);
    sort(a.begin(), a.end(), [](pair<char, int> x, pair<char, int> y) {return x.second < y.second;});

    cout << a[1].first << " " << a[1].second;
}