# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
220101 |
2020-04-07T02:53:44 Z |
MODDI |
Miners (IOI07_miners) |
C++14 |
|
234 ms |
1072 KB |
#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
template<class T>void chmax(T &a,T b){if(a<b)a=b;}
template<class T>void chmin(T &a,T b){if(a>b)a=b;}
constexpr int INF=1000000000;
int main(){
int n,a[100010],dp[2][4][4][4][4];
string s;
cin>>n>>s;
rep(i,2){
rep(c,4){
rep(d,4){
rep(e,4){
rep(f,4){
dp[i][c][d][e][f]=-INF;
}
}
}
}
}
dp[0][3][3][3][3]=0;
rep(i,n){
if(s[i]=='M')a[i]=0;
if(s[i]=='F')a[i]=1;
if(s[i]=='B')a[i]=2;
}
rep(i,n){
rep(c,4){
rep(d,4){
if(c==3&&d!=3)continue;
rep(e,4){
rep(f,4){
int x[4]={0,0,0,0},y[4]={0,0,0,0};
x[c]++,x[d]++,x[a[i]]++;
y[e]++,y[f]++,y[a[i]]++;
int X=0,Y=0;
rep(i,3){
X+=(bool)x[i];
Y+=(bool)y[i];
}
chmax(dp[(i+1)%2][a[i]][c][e][f],dp[i%2][c][d][e][f]+X);
chmax(dp[(i+1)%2][c][d][a[i]][e],dp[i%2][c][d][e][f]+Y);
}
}
}
}
}
int ans=0;
rep(c,4){
rep(d,4){
if(c==3&&d!=3)continue;
rep(e,4){
rep(f,4){
if(e==3&&f!=3)continue;
chmax(ans,dp[n%2][c][d][e][f]);
}
}
}
}
cout<<ans<<endl;
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
384 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
384 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
256 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
384 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
256 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
256 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
7 ms |
384 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
20 ms |
256 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
26 ms |
384 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
65 ms |
512 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
155 ms |
896 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
234 ms |
1072 KB |
Output is correct |