Submission #1268282

#TimeUsernameProblemLanguageResultExecution timeMemory
1268282chfHomework (CEOI22_homework)C++20
0 / 100
184 ms132584 KiB
#include <bits/stdc++.h>
using namespace std;

string s;
int pos; 
int N; 

pair<int,int> dfs(){
	if(s[pos]=='?'){ 
		pos++;
		return {1,N};
	}
	string op;
	while(isalpha(s[pos])){
		op.push_back(s[pos]);
		pos++;
	}
	pos++;
	auto L=dfs();
	pos++;
	auto R=dfs();
	pos++; 
	if(op=="min") return {min(L.first,R.first),min(L.second,R.second)};
	else return {max(L.first,R.first),max(L.second,R.second)};
}

int main(){
	cin>>s;
	N=count(s.begin(),s.end(),'?');
	pos=0;
	auto ans=dfs();
	cout<<ans.second-ans.first+1<<"\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...