Submission #499576

#TimeUsernameProblemLanguageResultExecution timeMemory
499576colossal_pepemedians (balkan11_medians)C++17
15 / 100
24 ms3756 KiB
#include <iostream> #include <vector> using namespace std; int n, b[100005]; bool mark[2 * 100005]; vector<int> ans; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> n; for (int i = 0; i < n; i++) { cin >> b[i]; } mark[0] = mark[2 * n] = 1; int left = 0, right = 2 * n; ans.push_back(b[0]); mark[b[0]] = 1; for (int i = 1; i < n; i++) { int added = 0; if (not mark[b[i]]) { ans.push_back(b[i]); mark[b[i]] = 1; added++; } while (mark[left]) left++; while (mark[right]) right--; if (added == 0) { ans.push_back(left), ans.push_back(right); mark[left] = mark[right] = 1; } else { if (b[i - 1] < b[i]) { ans.push_back(right); mark[right] = 1; } else if (b[i - 1] > b[i]) { ans.push_back(left); mark[left] = 1; } } } for (int i : ans) { cout << i << ' '; } cout << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...