B - 心配性な富豪、ファミリーレストランに行く。 | AtCoder Beginner Contest 009

less than 1 minute read

B - 心配性な富豪、ファミリーレストランに行く。 | AtCoder Beginner Contest 009

解法

文章量の割に必要な情報が少ない.
setを使い金額をuniqueに格納する.デフォルトだと昇順なのでrbegin()を用いイテレータを1つ進めたところの値を出力する.

コーナーケース検討

全ての料理の金額が同じであることはない.とあるので2<=Nより必ず2番目に高い料理が存在する.

実装

rbegin()を1つ進めることで2番目に高い料理の値段が得られる.

set<int> st;
REP(i, N) {
    int tmp; cin >> tmp;
    st.insert(tmp);
}
auto itr = st.rbegin();
itr++;
cout << *itr << endl;

Submission

データ構造・アルゴリズム