Submission #1037023

#TimeUsernameProblemLanguageResultExecution timeMemory
1037023vjudge1Homework (CEOI22_homework)C++17
53 / 100
1030 ms14980 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; #define x first #define y second string s; ll n=0; ll sol1(ll a, ll b, ll c) { if(a==b) return c; ll temp=a+4;ll c1=0; while(true) { c1+=(s[temp]=='('); c1-=(s[temp]==')'); if(c1==0&&s[temp]==',') break; temp++; } if(s[a+2]=='n') { ll o1=sol1(a+4,temp-1,c); ll o2=sol1(temp+1,b-1,c); return min(o1,o2); } else { ll o1=sol1(a+4,temp-1,c); ll o2=sol1(temp+1,b-1,o1+1); return o2; } } ll sol2(ll a, ll b, ll c) { if(a==b) return c; ll temp=a+4;ll c1=0; while(true) { c1+=(s[temp]=='('); c1-=(s[temp]==')'); if(c1==0&&s[temp]==',') break; temp++; } if(s[a+2]=='n') { ll o1=sol2(a+4,temp-1,c); ll o2=sol2(temp+1,b-1,o1-1); return o2; } else { ll o1=sol2(a+4,temp-1,c); ll o2=sol2(temp+1,b-1,c); return max(o1,o2); } } int main() { ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin>>s; for(auto i:s)n+=(i=='?'); cout<<sol2(0,s.size()-1,n)-sol1(0,s.size()-1,1)+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...