#include <bits/stdc++.h>
using namespace std;
#define int long long
#define OYY LLONG_MAX
#define mod 1000000007
#define faster ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define FOR for(int i=1;i<=n;i++)
#define mid (start+end)/2
#define lim 300005
#define fi first
#define se second
#define pb push_back
int n;
string s;
int i,top;
inline pair<int,int> f(){
while(s[i]==',' || s[i]==')')i++;
if(s[i]=='?'){top++;return make_pair(0,0);}
bool kim=0;
int mini=OYY,maxi=OYY;
if(s[i+1]=='a')kim=1;
i+=4;
pair<int,int> gec=f();
if(kim)maxi=min(maxi,gec.se);
else mini=min(mini,gec.fi);
i++;
while(s[i]==',' || s[i]==')')i++;
pair<int,int>gec2=f();
if(kim){
maxi=min(maxi,gec2.se);
mini=min(mini,gec.fi+gec2.fi+1);
}
else{
mini=min(mini,gec2.fi);
maxi=min(maxi,gec.se+gec2.se+1);
}
i++;
return make_pair(mini,maxi);
}
int32_t main(){
faster
cin>>s;
n=s.length();
pair<int,int>pq=f();
int cev;
cev=pq.fi+pq.se;
cout<<top<<" "<<pq.fi<<" "<<pq.se<<endl;
cout<<top-cev<<'\n';
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... |