#include<bits/stdc++.h>
using namespace std;
#define int long long
string s;
int idx=0;
tuple<int,int,int> solve(){
if(s[idx]=='?'){
idx++;
return {1,1,1};
}
int apa=0;
idx++;
if(s[idx]=='a'){
apa=1;
}
idx+=3;
auto [a,b,sz1]=solve();
idx++;
auto [c,d,sz2]=solve();
idx++;
if(apa==0){
int baru_l=min(a,c);
int baru_r=b+d-1;
int baru_lng=sz1+sz2;
return {baru_l,baru_r,baru_lng};
}
else{
int baru_l=a+c;
int baru_r=max(b+sz2,d+sz1);
int baru_lng=sz1+sz2;
return {baru_l,baru_r,baru_lng};
}
}
signed main(){
cin>>s;
auto [l,r,leng]=solve();
cout<<r-l+1<<endl;
}
# | 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... |