Advertisement
Josif_tepe

Untitled

Oct 24th, 2021
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.71 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <set>
  4. #include <algorithm>
  5. using namespace std;
  6. typedef long long ll;
  7.  
  8. int main()
  9. {
  10.     int n;
  11.     cin >> n;
  12.     string s;
  13.     cin >> s;
  14.     int result = 0;
  15.     if(n <= 20) {
  16.     for(int mask = 0; mask < (1 << n); mask++) {
  17.         string L = "";
  18.         string R = "";
  19.         for(int i = 0; i < n; i++) {
  20.             if(mask & (1 << i)) {
  21.                 L += s[i];
  22.             }
  23.             else {
  24.                 R += s[i];
  25.             }
  26.         }
  27.         int tmp = 0;
  28.         reverse(L.begin(), L.end());
  29.         reverse(R.begin(), R.end());
  30.         for(int i = 0; i < L.size(); i++) {
  31.             set<char> st;
  32.             if(i + 2 < L.size()) {
  33.                 st.insert(L[i + 2]);
  34.             }
  35.             if(i + 1 < L.size()) {
  36.                 st.insert(L[i + 1]);
  37.             }
  38.             st.insert(L[i]);
  39.             if((int) st.size() == 3) {
  40.                 tmp += 3;
  41.             }
  42.             else if((int) st.size() == 2) {
  43.                 tmp += 2;
  44.             }
  45.             else {
  46.                 tmp++;
  47.             }
  48.         }
  49.         for(int i = 0; i < R.size(); i++) {
  50.             set<char> st;
  51.             if(i + 2 < R.size()) {
  52.                 st.insert(R[i + 2]);
  53.             }
  54.             if(i + 1 < R.size()) {
  55.                 st.insert(R[i + 1]);
  56.             }
  57.             st.insert(R[i]);
  58.             if((int)st.size() == 3) {
  59.                 tmp += 3;
  60.             }
  61.             else if((int)st.size() == 2) {
  62.                 tmp += 2;
  63.             }
  64.             else {
  65.                 tmp++;
  66.             }
  67.         }
  68.         result = max(result, tmp);
  69.     }
  70.     cout << result << endl;
  71.     }
  72.     return 0;
  73. }
  74.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement