#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
string s;
cin>>s;
int N=count(s.begin(),s.end(),'?');
stack<pair<int,int>> st;
for(int i=0;i<s.size();i++)
{
if(s[i]=='?')
{
st.push({1,N});
}
else if(s[i]=='n'&&s.substr(i,3)=="min")
{
i+=3;
}
else if(s[i]=='m'&&s.substr(i,3)=="max")
{
i+=3;
}
else if(s[i]==')')
{
auto b=st.top();st.pop();
auto a=st.top();st.pop();
if(s[i-4]=='n')
{
int l=a.first+b.first-1;
int r=min(a.second,b.second);
l=max(l,1); r=min(r,N);
st.push({l,r});
}
else
{
int l=max(a.first,b.first);
int r=a.second+b.second-1;
l=max(l,1); r=min(r,N);
st.push({l,r});
}
}
}
auto res=st.top();
cout<<res.second-res.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... |