fork download
  1. #include<bits/stdc++.h>
  2. #define ld long double
  3. #define int long long
  4. #define all(v) v.begin(),v.end()
  5. #define allr(v) v.rbegin(),v.rend()
  6. using namespace std;
  7. void solve(){
  8. string s,t;
  9. cin>>s>>t;
  10. map<char,int>mp;
  11. int n=s.length(),m=t.length();
  12. for (int i=1;i<n;i++) {
  13. if (mp.find(s[i])==mp.end())
  14. mp[s[i]]=i;
  15. }
  16. string ans="";
  17. for(int i=m-1;i>=0;i--) {
  18. if (mp.find(t[i])!=mp.end()) {
  19. string x="";
  20. x+=s.substr(0,mp[t[i]]);
  21. x+=t.substr(i,m);
  22.  
  23. if (x.size()>=3&&x.size()<ans.size()) {
  24. ans=x;
  25. }else if (ans.empty()&&x.size()>=3) {
  26. ans+=x;
  27. }
  28. }
  29. }
  30. if (ans.empty())
  31. cout<<-1<<"\n";
  32. else
  33. cout<<ans<<"\n";
  34.  
  35.  
  36.  
  37. }
  38. int32_t main() {
  39. ios_base::sync_with_stdio(false);
  40. cin.tie(nullptr);
  41. cout.tie(nullptr);
  42. int t=1;
  43. //cin>>t;
  44. while(t--){
  45. solve();
  46. }
  47. }
Success #stdin #stdout 0.01s 5292KB
stdin
Standard input is empty
stdout
-1