Submission #1215096

#TimeUsernameProblemLanguageResultExecution timeMemory
1215096papauloHomework (CEOI22_homework)C++20
100 / 100
217 ms210912 KiB
#include <bits/stdc++.h> using namespace std; string s; int i; struct Expression { int mn, mx, n; Expression() : mn(0), mx(0), n(0) {} Expression(int mn, int mx, int n) : mn(mn), mx(mx), n(n) {} }; Expression readExpression() { char c=s[i++]; if(c=='?') return Expression(1, 1, 1); string st=s.substr(i, 3); i+=3; Expression left=readExpression(); i++; Expression right=readExpression(); i++; Expression ans; ans.n=left.n+right.n; if(st=="ax(") { ans.mx=max(left.mx+right.n, right.mx+left.n); ans.mn=left.mn+right.mn; } else { ans.mn=min(left.mn, right.mn); ans.mx=left.mx+right.mx-1; } return ans; } int main() { cin >> s; Expression exp=readExpression(); cout << exp.mx-exp.mn+1 << endl; 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...