解题思路:
#include <iostream> #include <queue> using namespace std; int n; int all[100010]; int vis[100010]; int main() { cin >> n; for(int i = 1;i <= n;i ++) { queue <int > q; int x; cin >> x; while(vis[x]) { q.push(x); x = vis[x] + 1; } while(!q.empty()) { int b; b = q.front(); q.pop(); vis[b] = x; } vis[x] = x; all[i] = x; } for(int i = 1;i <= n;i ++) { cout << all[i] << " "; } return 0; }
0.0分
7 人评分