#include <algorithm>
#include <iostream>
using namespace std;
const int N = 300000;
int aa[N], dd[N], pp[N];
bool used[N];
int main() {
ios_base::sync_with_stdio(false), cin.tie(NULL);
int n; cin >> n;
for (int i = 0; i < n; i++) {
int a; cin >> a;
used[i] = true;
if (a > 0)
aa[i] = a;
else {
dd[i] = a * -1;
int p = i - 1;
while (!used[p] || dd[p] >= dd[i])
p--;
pp[i] = p;
int j = i;
while (dd[j])
j = pp[j], used[j] = !used[j];
}
int j = i;
while (j >= 0 && (dd[j] || !used[j]))
j--;
cout << (j >= 0 ? aa[j] : 0) << '\n';
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |