func_code_string: #include <bits/stdc++.h>   using namespace std;   const int MAXN = 1e5 + 233;   struct item {     int ini, num;   } t[MAXN];   int vis1[MAXN] = {0}, vis2[MAXN] = {0};   int cg[MAXN] = {0};   int n;   bool cmp1(const item &a, const item &b) { return a.num < b.num; }   bool cmp2(const item &a, const item &b) { return a.ini < b.ini; }   int main() {     int cnt = 1;     scanf( %d , &n);     for (int i = 1; i <= n; i++) {       scanf( %d , &t[i].num);       t[i].ini = i;       if (vis1[t[i].num] == 0 && t[i].num <= n) {         vis2[i] = 1;       }       vis1[t[i].num] = 1;     }     sort(t + 1, t + 1 + n, cmp1);     for (int i = 1; i <= n; i++) {       while (vis1[cnt] != 0) cnt++;       if (vis2[t[i].ini] == 0) {         t[i].num = cnt;         cnt++;       }     }     sort(t + 1, t + 1 + n, cmp2);     for (int i = 1; i <= n; i++) {       printf( %d  , t[i].num);     }   }   