测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A20161. 颁奖典礼

填空题 中等

题目描述

颁奖典礼

题目描述

n 个学生参加颁奖典礼,学号为 1 到 n。学生根据比赛排名上台领奖。已知学号为 i 的学生是第 ai 个上去领奖的。请输出学生上台领奖的学号顺序。

输入

第一行,单个整数 n。

第二行,n 个整数a1,a2,...,an

输出

n 个整数,表示学生上台的顺序。

数据范围

对于100%的数据,1≤n≤100,000,1≤ai≤n。

输入样例1

3
3 1 2

输出样例1

2 3 1

参考答案

#include <bits/stdc++.h> using namespace std; bool compare(pair<int,int> a,pair<int,int> b) { //排序比较函数 return a.second < b.second; } int main() { int n, k; cin >> n; vector<pair<int,int>> a; //学号和领奖顺序数组 for(int i=0; i<n; i++) { cin >> k; a.push_back({i+1, k}); } sort(a.begin(), a.end(), compare); //按领奖顺序排序 for(int i=0; i<n; i++) { cout << a[i].first << " "; //输出学号 } return 0; }
上一题 下一题