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,set<int>>ma;

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

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

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

             }
           }
         }
}
Copy
Registration System mohammed_mraish
GNU G++17
3075 ms
1.8 MB
Time Limit Exceeded