#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int n,i,j,t,k,l,m,id;
cin>>n;
string s;
int dp[n+1][4][4][4][4];
// 0 gaada
// 1 Meat
// 2 Fish
// 3 Bread
for(i=0;i<=n;i++){
for(j=0;j<4;j++){
for(k=0;k<4;k++){
for(l=0;l<4;l++){
for(m=0;m<4;m++) dp[i][j][k][l][m] = -1e9;
}
}
}
}
cin>>s;
dp[0][0][0][0][0] = 0;
set<int>check;
for(i=1;i<=n;i++){
if(s[i-1] == 'M') id = 1;
if(s[i-1] == 'F') id = 2;
if(s[i-1] == 'B') id = 3;
for(j=0;j<4;j++){
for(k=0;k<4;k++){
for(l=0;l<4;l++){
for(m=0;m<4;m++){
if(dp[i-1][j][k][l][m] < 0) continue;
if(j != 0) check.insert(j);
if(k != 0) check.insert(k);
check.insert(id);
int plus = check.size();
check.clear();
dp[i][id][j][l][m] = max(dp[i][id][j][l][m],dp[i-1][j][k][l][m]+plus);
if(l != 0) check.insert(l);
if(m != 0) check.insert(m);
check.insert(id);
plus = check.size();
check.clear();
dp[i][j][k][id][l] = max(dp[i][j][k][id][l],dp[i-1][j][k][l][m]+plus);
}
}
}
}
}
int ans = 0;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
for(k=0;k<4;k++){
for(l=0;l<4;l++) ans = max(ans,dp[n][i][j][k][l]);
}
}
}
cout<<ans;
return 0;
}
# | 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... |