#include <bits/stdc++.h>
#define fi first
#define se second
using namespace std;
typedef pair<int,int> pii;
typedef pair<int,pii> piii;
int cur;
string S;
piii parse() {
if (S[cur] == '?') {
cur++;
return {1,{1,1}};
}
bool mx = (S[cur+1] == 'a');
cur += 4;
piii x = parse();
cur++;
piii y = parse();
cur++;
piii z = {x.fi+y.fi,{0,0}};
if (mx) {
z.se.fi = x.se.fi + y.se.fi;
z.se.se = z.fi - min(x.fi-x.se.se,y.fi-y.se.se);
}
else {
z.se.fi = min(x.se.fi,y.se.fi);
z.se.se = z.fi - (x.fi-x.se.se) - (y.fi-y.se.se) - 1;
}
return z;
}
int main () {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin >> S;
pii ans = parse().se;
cout << ans.se - ans.fi + 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... |