#include <bits/stdc++.h>
using namespace std;
signed main(){
int n; cin >> n;
string s; cin >> s;
auto calc = [&](string t){
int ans = 0;
for ( int i = 0; i < (int)t.size(); i++ ){
set <char> st;
for ( int j = i - 2; j <= i; j++ ){
if ( j >= 0 ) st.insert(t[j]);
}
ans += st.size();
}
return ans;
};
int opt = 0;
for ( int mask = 0; mask < (1 << n); mask++ ){
string x, y;
for ( int i = 0; i < n; i++ ){
if ( mask >> i & 1 ) x += s[i];
else y += s[i];
}
opt = max(opt, calc(x) + calc(y));
}
cout << opt << '\n';
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |