はまやんはまやんはまやん

hamayanhamayan's blog

Go to School [AtCoder Beginner Contest 142 C]

https://atcoder.jp/contests/abc142/tasks/abc142_c

解説

https://atcoder.jp/contests/abc142/submissions/7771093

最初に来た生徒では1人の記録があるはず。
二番目に来た生徒では2人の記録があるはず。
という感じで、記録された人数と来た順番は一致する。
よって、記録人数でソートして、その順番で生徒の番号を答えればいい。

int N, A[101010];
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N;
    rep(i, 0, N) cin >> A[i];

    vector<pair<int,int>> v;
    rep(i, 0, N) v.push_back({A[i], i + 1});
    sort(all(v));

    rep(i, 0, N) {
        if (i) printf(" ");
        printf("%d", v[i].second);
    }
    printf("\n");
}