제출 #1236586

#제출 시각아이디문제언어결과실행 시간메모리
1236586AlgorithmWarriorHomework (CEOI22_homework)C++20
0 / 100
203 ms250112 KiB
#include <bits/stdc++.h>

using namespace std;

struct answer{
    int l,r,n;
};

answer solve(string& sir,int& id){
    if(sir[id]=='?')
        return {1,1,1};
    bool tip;
    if(sir[id+1]=='a')
        tip=1;
    else
        tip=0;
    id+=4;
    answer ans1=solve(sir,id);
    ++id;
    answer ans2=solve(sir,id);
    ++id;
    int l,r,n;
    if(tip){
        l=ans1.l+ans2.l;
        r=max(ans1.n+ans2.r,ans1.r+ans2.n);
    }
    else{
        l=min(ans1.l,ans2.l);
        r=ans1.r+ans2.r-1;
    }
    n=ans1.n+ans2.n;
    return {l,r,n};
}

int main()
{
    string s;
    int id=0;
    cin>>s;
    answer ans=solve(s,id);
    cout<<ans.r-ans.l+1;
    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...