Submission #260253

#TimeUsernameProblemLanguageResultExecution timeMemory
260253caoashpopa (BOI18_popa)C++14
100 / 100
100 ms500 KiB
#include <bits/stdc++.h> 
#include "popa.h"
using namespace std;

using ll = long long;

using vi = vector<int>;
#define pb push_back
#define rsz resize
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()

using pi = pair<int,int>;
#define f first
#define s second
#define mp make_pair

int solve(int N, int *L, int *R) {
    vector<int> st;
    st.pb(0);
    L[0] = R[0] = -1;
    for (int i = 1; i < N; i++) {
        L[i] = -1, R[i] = -1;
        while (!st.empty() && query(st.back(), i, i, i)) {
            L[i] = st.back();
            st.pop_back();
        }
        if (!st.empty()) {
            R[st.back()] = i;
        }
        st.pb(i);
    }
    return st.front();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...