View Code of Problem 2591

#include <bits/stdc++.h>
using namespace std;
int main(){
    int t;
    cin>>t;
   
    while(t--){
        string s1, s2;
        cin>>s1>>s2; 
        int alp[27]={0}, pri[26]={0};
        for(int i = 0; i<s1.size(); i++){
            alp[s1[i]-'A']++;
        }
        bool f = false;
        for(int i = 0; i< s2.size(); i++){
            if(alp[s2[i]-'A']!=0){
                pri[s2[i]-'A']++;
                alp[s2[i]-'A']--;
                f = true;
            }
        }

        for(int i = 0; i<26; i++){
            if(pri[i]){
                for(int j = 0; j< pri[i]; j++){
                    cout<<char('A'+i);
                }
                
            }
        }
        
        if(!f){
            cout<<-1<<endl;
        }
        else{
             cout<<endl;
        }
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 2591