#include <bits/stdc++.h>
using namespace std;
string s;
int i;
struct Expression {
int mn, mx, n;
Expression() : mn(0), mx(0), n(0) {}
Expression(int mn, int mx, int n) : mn(mn), mx(mx), n(n) {}
};
Expression readExpression() {
char c=s[i++];
if(c=='?') return Expression(1, 1, 1);
string st=s.substr(i, 3);
i+=3;
Expression left=readExpression();
i++;
Expression right=readExpression();
i++;
Expression ans;
ans.n=left.n+right.n;
if(st=="ax(") {
ans.mx=ans.n;
ans.mn=left.mn+right.mn;
} else {
ans.mn=1;
ans.mx=left.mx+right.mx-1;
}
return ans;
}
int main() {
cin >> s;
Expression exp=readExpression();
cout << exp.mx-exp.mn+1 << endl;
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... |