#include <bits/stdc++.h>
using namespace std;
string s;
int pos;
int N;
pair<int,int> dfs(){
if(s[pos]=='?'){
pos++;
return {1,N};
}
string op;
while(isalpha(s[pos])){
op.push_back(s[pos]);
pos++;
}
pos++;
auto L=dfs();
pos++;
auto R=dfs();
pos++;
if(op=="min") return {min(L.first,R.first),min(L.second,R.second)};
else return {max(L.first,R.first),max(L.second,R.second)};
}
int main(){
cin>>s;
N=count(s.begin(),s.end(),'?');
pos=0;
auto ans=dfs();
cout<<ans.second-ans.first+1<<"\n";
}
# | 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... |