#include <bits/stdc++.h>
using namespace std;
#define int long long
struct ran{
int L,R,S;
ran(int a,int b,int c):L(a),R(b),S(c){}
};
int32_t main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
function<ran()> solve = [&](){
char a;
cin >> a;
if(a=='?'){
return ran(1,1,1);
}
cin >> a >> a;
bool isMax = a=='x';
cin >> a;
auto left = solve();
cin >> a;
auto right = solve();
cin >> a;
if(isMax){
left.L = left.S-left.L+1;
left.R = left.S-left.R+1;
swap(left.L,left.R);
right.L = right.S-right.L+1;
right.R = right.S-right.R+1;
swap(right.L,right.R);
}
auto myAns = ran(min(left.L,right.L),left.R+right.R-1,left.S+right.S);
if(isMax){
myAns.L = myAns.S-myAns.L+1;
myAns.R = myAns.S-myAns.R+1;
swap(myAns.L,myAns.R);
}
return myAns;
};
auto ans = solve();
cout << ans.R-ans.L+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... |