Source Code
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);

    map<string , bool> used;
    set<string> st;

    int n;
    cin >> n;
    for(int i = 0 ; i <  n ; i++){
        string s;
        cin >> s;
        if(used[s] == 0){

            used[s] = 1;

            if(st.count(s))
                st.erase(s);

            for(int i = 1 ; i < 30 ; i++){
                string tmp = s;
                tmp += to_string(i);
                st.insert(tmp);
            }

            cout << "ok\n";

        }
        else {
            for(int i = 1 ; i < 30 ; i++){
                string tmp = s;
                tmp += to_string(i);
                if(st.count(tmp)){
                    cout << tmp << '\n';
                    used[tmp] = 1;
                    st.erase(tmp);
                    for(int j = 1 ; j < 30 ; j++){
                        string tmp2 = tmp;
                        tmp2 += to_string(j);
                        st.insert(tmp2);
                    }
                    break;
                }
            }
        }
    }
}
Copy
Registration System Greedious
GNU G++17
346 ms
376 KB
Wrong Answer