Source Code
#include <bits/stdc++.h>

using namespace std;
#define pb push_back
typedef long long ll;


int conv(string &s){
    string S="",S2="";
   for(int t=s.size()-1;t>=0;t--){
      if((s[t]-'0')>=0&&(s[t]-'0')<=9){
         S+=s[t];
      }else{
         for(int i=0;i<=t;i++)
            S2+=s[i];
         break;
      }
   }
   reverse(S.begin(),S.end());
   for(int t=0;t<S.size();t++){
      if(S[t]=='0'){
        S2+='0';
      }else{
        if(t>0)
          S.erase(S.begin()+(t-1));
        break;
      }
   }
   s=S2;

   return S.size()>0? stoi(S):-1;
}

int main(){


	int T,n,k,t,a,c=0;
          cin>>n;
          string s;
         unordered_map<string,pair<set<int>,int>>ma;

         for(t=0;t<n;t++){
           cin>>s;
           if(ma[s].first.size()==0){
            string S=s;
             int te=conv(S);
             if(te!=-1)
               ma[S].first.insert(te);

               ma[s].first.insert(0);
              cout<<"ok\n";
           }else{


            for(int y=ma[s].second;y<1000000;y++){
               ma[s].second=y;
               if(ma[s].first.find(y)==ma[s].first.end()){
                  ma[s].first.insert(y);
                  if(y==0){
                     cout<<"ok\n";
                  }else{
                     ma[(s+to_string(y))].first.insert(0);
                     cout<<s<<y<<"\n";
                   }
                  break;
               }

             }
           }
         }
}
Copy
Registration System mohammed_mraish
GNU G++17
642 ms
23.5 MB
Wrong Answer