Sreekar_0125

Untitled

Oct 8th, 2023
870
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.90 KB | None | 0 0
  1. void solve()
  2. {
  3.     string s1, s2;
  4.     cin >> s1 >> s2;
  5.  
  6.     map<int, int> mp1, mp2;
  7.     for (int i = 0; i < s1.length(); i++)
  8.     {
  9.         mp1[s1[i]]++;
  10.     }
  11.     for (int i = 0; i < s2.length(); i++)
  12.     {
  13.         mp2[s2[i]]++;
  14.     }
  15.  
  16.     for (char ch = 'a'; ch <= 'z'; ch++)
  17.     {
  18.         int x = min(mp1[ch], mp2[ch]);
  19.         mp1[ch] -= x;
  20.         mp2[ch] -= x;
  21.     }
  22.     int ans = 0;
  23.     for (char ch = 'a'; ch <= 'z'; ch++)
  24.     {
  25.         char curr = ch;
  26.         char prev;
  27.         if (curr == 'a')
  28.             prev = 'z';
  29.         else
  30.             prev = curr - 1;
  31.         if (mp2[curr])
  32.         {
  33.             if (mp1[prev] >= mp2[curr])
  34.             {
  35.                 ans += mp2[curr];
  36.             }
  37.             else
  38.             {
  39.                 ans += mp1[prev];
  40.                 ans += 2 * (mp2[curr] - mp1[prev]);
  41.             }
  42.         }
  43.     }
  44.     cout << ans << endl;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment