Submission #563990

#TimeUsernameProblemLanguageResultExecution timeMemory
563990KoDEditor (BOI15_edi)C++17
35 / 100
3051 ms5292 KiB
#include <bits/stdc++.h> using ll = long long; using std::vector; using std::array; using std::pair; using std::tuple; template <class T> constexpr T infty = std::numeric_limits<T>::max() / 2; int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr); int N; std::cin >> N; vector<int> op(N); for (auto& x : op) { std::cin >> x; } vector<char> active(N); vector<int> par(N); for (int i = 0; i < N; ++i) { active[i] = true; if (op[i] < 0) { int j = i - 1; while (op[j] <= op[i] or !active[j]) { j -= 1; } par[i] = j; int k = i; while (op[k] < 0) { active[par[k]] ^= 1; k = par[k]; } } else { par[i] = -1; } int ans = 0; for (int j = i; j >= 0; --j) { if (active[j] and op[j] > 0) { ans = op[j]; break; } } std::cout << ans << '\n'; } 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...