#include <bits/stdc++.h>
using namespace std;
struct answer{
int l,r,n;
};
answer solve(string& sir,int& id){
if(sir[id]=='?')
return {1,1,1};
bool tip;
if(sir[id+1]=='a')
tip=1;
else
tip=0;
id+=4;
answer ans1=solve(sir,id);
++id;
answer ans2=solve(sir,id);
++id;
int l,r,n;
if(tip){
l=ans1.l+ans2.l;
r=max(ans1.n+ans2.r,ans1.r+ans2.n);
}
else{
l=min(ans1.l,ans2.l);
r=ans1.r+ans2.r-1;
}
n=ans1.n+ans2.n;
return {l,r,n};
}
int main()
{
string s;
int id=0;
cin>>s;
answer ans=solve(s,id);
cout<<ans.r-ans.l+1;
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... |