Submission #1226119

#TimeUsernameProblemLanguageResultExecution timeMemory
1226119adam17Homework (CEOI22_homework)C++20
100 / 100
156 ms85668 KiB
#include <iostream> #include <vector> #include <string> using namespace std; int N, iter; string A; struct R{ int i; int j; int n; }; R load() { if (A[iter] == '?') { iter++; return R{0, 1, 1}; } else if (A[iter + 1] == 'i') { iter += 4; R a = load(); iter++; R b = load(); iter++; // cout << "MIN = " << min(a.i, b.i) << a.j + b.j - 1 << a.n + b.n << endl; return R{min(a.i, b.i), a.j + b.j - 1, a.n + b.n}; } else { iter += 4; R a = load(); iter++; R b = load(); iter++; // cout << "MAX = " << a.i + b.i + 1 << a.n + b.n - min(a.n - a.j, b.n - b.j) << a.n + b.n << endl; return R{a.i + b.i + 1, a.n + b.n - min(a.n - a.j, b.n - b.j), a.n + b.n}; } // return R{0, 0, 0}; } int main() { cin >> A; N = 0; for (char x: A) { if (x == '?') { N++; } } iter = 0; R result = load(); cout << result.j - result.i << 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...