[AtCoder] ABC 142 C – Go to School
問題
方針
\( i \) 番目の生徒が教室に来た時の教室にいる生徒の人数が \( A_i \) なので、\( i \) 番目の生徒は \( A_i \) 番目に教室に来たことになります。よって、\( A_i \) について昇順に整列させ、対応する生徒の番号を出力します。
コード
#include <bits/stdc++.h> using namespace std; typedef long long ll; struct Data { int A, v; Data(int A, int v) : A(A), v(v){} bool operator < (const Data &d) const { return A < d.A; } }; int main() { int N; cin >> N; vector<Data> d; int A; for (int i = 0; i < N; i++) { cin >> A; d.push_back(Data(A, i + 1)); } sort(d.begin(), d.end()); for (int i = 0; i < N; i++) { if (i == N - 1) cout << d[i].v << "\n"; else cout << d[i].v << " "; } return 0; }
ディスカッション
コメント一覧
まだ、コメントがありません