제출 #1237113

#제출 시각아이디문제언어결과실행 시간메모리
1237113warrennHomework (CEOI22_homework)C++20
100 / 100
153 ms85660 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long 

string s;
int idx=0;

tuple<int,int,int> solve(){
    if(s[idx]=='?'){
        idx++;
        return {1,1,1};
    }
    int apa=0;
    idx++;
    if(s[idx]=='a'){
        apa=1;
    }
    idx+=3;
    auto [a,b,sz1]=solve();
    idx++;
    auto [c,d,sz2]=solve();
    idx++;

    if(apa==0){
        int baru_l=min(a,c);
        int baru_r=b+d-1;
        int baru_lng=sz1+sz2;
        return {baru_l,baru_r,baru_lng};
    }
    else{
        int baru_l=a+c;
        int baru_r=max(b+sz2,d+sz1);
        int baru_lng=sz1+sz2;
        return {baru_l,baru_r,baru_lng};
    }
}

signed main(){
    cin>>s;
    auto [l,r,leng]=solve();
    cout<<r-l+1<<endl;
}
#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...