以下の内容はhttps://blog.hamayanhamayan.com/entry/2021/05/15/235458より取得しました。


Do you know the second highest mountain? [マイナビプログラミングコンテスト2021(AtCoder Beginner Contest 201) B]

https://atcoder.jp/contests/abc201/tasks/abc201_b

解説

https://atcoder.jp/contests/abc201/submissions/22640502

C++だとpairでソートするのがいい。
pairでソートした場合は、第一要素でまずはソートして、同値であれば、第二要素でソートするようなソート方法である。
山の高さでソートする必要があるので(山の高さ,山の名前)を入れてソートすることにする。
こうすると、山の高さでちゃんとソートしてくれるので、この状態でソートして、二番目に大きいものの山の名前を取得して答えればいい。
降順ソートなので、sort(all(v), greater<int,string>())として2番目を答えてもいい。

int N;
vector<pair<int, string>> v;
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N;
    rep(i, 0, N) {
        string S; int T;
        cin >> S >> T;
        v.push_back({ T, S });
    }
    sort(all(v));

    cout << v[v.size() - 2].second << endl;
}



以上の内容はhttps://blog.hamayanhamayan.com/entry/2021/05/15/235458より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14