# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
535857 |
2022-03-11T14:40:34 Z |
cig32 |
Miners (IOI07_miners) |
C++17 |
|
198 ms |
109032 KB |
#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
typedef long long int ll;
const int N=1e5+7;
string s;
int n;
int c(int a,int b,int c){
int sol = 0;
if (a == 1 || b == 1 || c == 1) sol++;
if (a == 2 || b == 2 || c == 2) sol++;
if (a == 3 || b == 3 || c == 3) sol++;
return sol;
}
int a[N];
int dp[N][4][4][4][4];
int solve(int idx,int prea1,int prea2,int preb1,int preb2){
if(idx==n) {
return 0;
}
int &ans=dp[idx][prea1][prea2][preb1][preb2];
if(ans!=-1) return ans;
int choice1=solve(idx+1,a[idx],prea1,preb1,preb2)+c(a[idx],prea1,prea2);
int choice2=solve(idx+1,prea1,prea2,a[idx],preb1)+c(a[idx],preb1,preb2);
return ans=max(choice1,choice2);
}
int main()
{
ios_base:: sync_with_stdio(false); cin.tie(0);
cin>>n;
cin>>s;
for(int i=0; i<n; i++) {
if(s[i]=='B') {
a[i]=3;
}
else if(s[i]=='M') {
a[i]=1;
}
else{
a[i]=2;
}
}
memset(dp,-1,sizeof dp);
int ans=solve(0,0,0,0,0);
cout<<ans<<endl;
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
40 ms |
100424 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
46 ms |
100428 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
40 ms |
100480 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
38 ms |
100428 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
40 ms |
100512 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
38 ms |
100468 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
41 ms |
100560 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
45 ms |
100840 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
52 ms |
101324 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
83 ms |
102644 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
134 ms |
106936 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
198 ms |
109032 KB |
Output is correct |