Submission #1268296

#TimeUsernameProblemLanguageResultExecution timeMemory
1268296chfHomework (CEOI22_homework)C++20
100 / 100
63 ms54212 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}; } bool isMin = (s.compare(pos,3,"min")==0); pos += 3; pos++; auto A = dfs(); pos++; auto B = dfs(); pos++; long long L,R; if(isMin){ L = min(A.first, B.first); R = A.second + B.second - N - 1; } else { L = A.first + B.first; R = max(A.second, B.second); } return {(int)L,(int)R}; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); cin>>s; N = count(s.begin(), s.end(), '?'); pos = 0; auto ans = dfs(); int L = ans.first, R = ans.second; if(R < L) cout<<0<<"\n"; else cout << (R - L + 1) << "\n"; return 0; }
#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...