This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int n;
char A[25];
///NO DP
int dif(string s)
{
int sum=0;
int bucket[3];
memset(bucket,0,sizeof(bucket));
for(char x: s)
{
if(x=='M' && bucket[0]==0){
sum++;
bucket[0]=1;
}
if(x=='B' && bucket[1]==0){
sum++;
bucket[1]=1;
}
if(x=='F' && bucket[2]==0){
sum++;
bucket[2]=1;
}
}
return sum;
}
int coal(int i,int s1,int s2,string C1,string C2)
{
//cout<<i<<" "<<s1<<" "<<s2<<" "<<C1<<" "<<C2<<endl;
if(i==0) return s1+s2;
int sum=0;
int x;
string c1=C1;
if(c1.size()<3){
c1+=A[i];
}
else{
c1[0]=c1[1];
c1[1]=c1[2];
c1[2]=A[i];
}
x=dif(c1);
sum=max(sum,coal(i-1,s1+x,s2,c1,C2));
string c2=C2;
if(c2.size()<3){
c2+=A[i];
}
else{
c2[0]=c2[1];
c2[1]=c2[2];
c2[2]=A[i];
}
x=dif(c2);
sum=max(sum,coal(i-1,s1,s2+x,C1,c2));
return sum;
}
int main()
{
cin>>n;
if(n>20) cout<<0;
for(int i=1;i<=n;i++){
cin>>A[i];
}
string s="";
s+=A[n];
int total=coal(n-1,1,0,s,"");
cout<<total<<'\n';
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... |