#include <bits/stdc++.h>
using namespace std;
int n; string s;
map<char, int> mp;
int dp[2][4][4][4][4];
vector<bool> v(4, false);
int chk(int a, int b, int c){
v[1] = v[2] = v[3] = 0;
v[a] = 1;
v[b] = 1;
v[c] = 1;
return v[1] + v[2] + v[3];
}
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n >> s;
s = ' ' + s;
mp['M'] = 1;
mp['B'] = 2;
mp['F'] = 3;
for(int i = 0;i<2;i++){
for(int j = 0;j<4;j++){
for(int k = 0;k<4;k++){
for(int g = 0;g<4;g++){
for(int f = 0;f<4;f++){
dp[i][j][k][g][f] = -2e9;
}
}
}
}
}
dp[0][0][0][0][0] = 0;
for(int i = 1;i<=n;i++){
int id = mp[s[i]];
for(int j = 0;j<4;j++){
for(int k = 0;k<4;k++){
for(int g = 0;g<4;g++){
for(int f = 0;f<4;f++){
dp[i&1][id][j][g][f] = max(dp[i&1][id][j][g][f], dp[1-(i&1)][j][k][g][f] + chk(id, j, k));
dp[i&1][j][k][id][g] = max(dp[i&1][j][k][id][g], dp[1-(i&1)][j][k][g][f] + chk(id, g, f));
}
}
}
}
}
int ans = 0;
for(int j = 0;j<4;j++){
for(int k = 0;k<4;k++){
for(int g = 0;g<4;g++){
for(int f = 0;f<4;f++){
ans = max(ans, dp[n&1][j][k][g][f]);
}
}
}
}
cout << ans;
}
| # | 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... |