【競プロ】1日1AC : ABC41 C問題

2日目です。このモチベーションはいつまで続くでしょうか…。

今日の問題はこれです。

Difficultyは583(茶)です。
AtCoder Problemsより)

余裕のある方は先に解いてみてください。

提出コードと考えたこと

先に提出コードです。

#include <bits/stdc++.h>
using namespace std;

int main(){
    int N;
    cin >> N;
    vector<pair<int,int>> data(N);
    for(int i = 0;i < N;i++){
        int a;
        cin >> a;
        data[i] = make_pair(a,i + 1);
    }

    sort(data.begin(),data.end(),greater<pair<int,int>>());
    for(auto p : data){
        int ans = p.second;
        cout << ans << endl;
    }
    return 0;
}

出席番号と身長を結びつけて持っておく必要があるので連想配列を考えましたが、ソートをすることを考えるとpairの方が都合がよさそうだったのでそっちを使いました。

最初の値でソートされることに注意して身長を先に入れています。あとは降順ソートをしてpairの後ろの値を出力すればACでした。

終わりに

昨日の問題にちょっと苦戦したので簡単そうな問題を選びましたが、ちょっと楽すぎたかもしれません。

コメント