#include <iostream>
using namespace std;
int N, id;
string s;
pair<int, int> get(){
if (s[id] == '?'){
id++, N++;
return {1, 1};
}
int s1, s2;
char c = s[id + 1];
id += 4, s1 = N;
auto [l1, r1] = get();
id++, s1 = N - s1, s2 = N;
auto [l2, r2] = get();
id++, s2 = N - s2;
if (c == 'i')
return {min(l1, l2), r1 + r2 - 1};
int l3 = s1 - r1 + 1, r3 = s1 - l1 + 1;
int l4 = s2 - r2 + 1, r4 = s2 - l2 + 1;
int L = min(l3, l4), R = r3 + r4 - 1, S = s1 + s2;
return {S - R + 1, S - L + 1};
}
int main(){
ios_base::sync_with_stdio(false); cin.tie(NULL);
cin>>s;
auto [l, r] = get();
cout<<r - 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... |