Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.58 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int N = 1e5 + 5;
  5.  
  6. int n, vis[N], vis2[N];
  7. set<int> s;
  8. auto it = s.begin();
  9. vector<int> v;
  10.  
  11. int main(){
  12.     ios_base::sync_with_stdio(0), cin.tie(0);
  13.     cin >> n;
  14.     for(int i = 1; i <= n; i++) s.insert(i);
  15.     v.resize(n);
  16.     for(int i = 0; i < n; i++) cin >> v[i];
  17.     for(int i = 0; i < v.size(); i++) if(v[i] <= n and !vis2[v[i]]) s.erase(v[i]), vis[i]++, vis2[v[i]]++;
  18.     for(int i = 0; i < v.size(); i++) if(!vis[i]) it = s.begin(), v[i] = *it, s.erase(*it);
  19.     for(auto x : v) cout << x << " ";
  20.     cout << endl;
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement