Submission #1215090

#TimeUsernameProblemLanguageResultExecution timeMemory
1215090papauloHomework (CEOI22_homework)C++20
13 / 100
191 ms164396 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=ans.n;
        ans.mn=left.mn+right.mn;
    } else {
        ans.mn=1;
        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...