Submission #825210

#TimeUsernameProblemLanguageResultExecution timeMemory
825210tch1cherinEditor (BOI15_edi)C++17
35 / 100
3059 ms4712 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
  cin.tie(nullptr)->sync_with_stdio(false);
  int n;
  cin >> n;
  vector<int> op(n), t(n, -1);
  vector<bool> active(n);
  for (int i = 0; i < n; i++) {
    cin >> op[i];
    if (op[i] < 0) {
      for (int j = i - 1; j >= 0; j--) {
        if (max(0, -op[j]) < -op[i] && active[j]) {
          t[i] = j;
          break;
        }
      }
    }
    int j = i;
    while (j != -1) {
      active[j] = !active[j];
      j = t[j];
    }
    bool found = false;
    for (int j = i; j >= 0; j--) {
      if (t[j] == -1 && active[j]) {
        found = true;
        cout << op[j] << "\n";
        break;
      }
    }
    if (!found) {
      cout << 0 << "\n";
    }
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...