Submission #522432

#TimeUsernameProblemLanguageResultExecution timeMemory
522432ntabc05101popa (BOI18_popa)C++14
100 / 100
96 ms288 KiB
#include<bits/stdc++.h> #include "popa.h" using namespace std; #define taskname "" int solve(int N, int *Left, int *Right) { for (int i = 0; i < N; i++) { Left[i] = Right[i] = -1; } vector<int> st(1, 0); for (int i = 1; i < N; i++) { int y = -1; while (!st.empty()) { int x = st.back(); while (~Left[x]) { x = Left[x]; } if (query(st.back(), st.back(), x, i)) { break; } y = st.back(); st.pop_back(); } if (!st.empty()) { Right[st.back()] = i; } Left[i] = y; st.push_back(i); } while (st.size() > 1) { st.pop_back(); } return st.back(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...