Submission #1037029

#TimeUsernameProblemLanguageResultExecution timeMemory
1037029vjudge1Homework (CEOI22_homework)C++17
100 / 100
83 ms62432 KiB
#include<bits/stdc++.h> using namespace std; #pragma optimize("O3") typedef int ll; #define x first #define y second #define pll pair<ll,ll> string s; ll n=0; pll sol1(ll a, ll c) { if(s[a]=='?')return {a+1,c}; if(s[a+2]=='n'){ pll o1=sol1(a+4,c); pll o2=sol1(o1.x+1,c); return {o2.x+1,min(o1.y,o2.y)}; } else{ pll o1=sol1(a+4,c); pll o2=sol1(o1.x+1,o1.y+1); return {o2.x+1,o2.y}; } } pll sol2(ll a, ll c) { if(s[a]=='?')return {a+1,c}; if(s[a+2]=='n'){ pll o1=sol2(a+4,c); pll o2=sol2(o1.x+1,o1.y-1); return {o2.x+1,o2.y}; } else{ pll o1=sol2(a+4,c); pll o2=sol2(o1.x+1,c); return {o2.x+1,max(o1.y,o2.y)}; } } 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,n).y-sol1(0,1).y+1; return 0; }

Compilation message (stderr)

Main.cpp:3: warning: ignoring '#pragma optimize ' [-Wunknown-pragmas]
    3 | #pragma optimize("O3")
      |
#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...