#include<bits/stdc++.h>
using namespace std;
#define task "a"
#define se second
#define fi first
#define ll long long
#define ii pair<ll, ll>
const long mxN = 2e5 + 7;
int n, a[mxN];
map<int, int> cnt;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
//freopen(task".INP", "r", stdin);
//freopen(task".OUT", "w", stdout);
cin >> n;
stack<int> stk;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
cnt[a[i]]++;
while (cnt[a[i]] > 1)
{
cnt[a[stk.top()]]--;
stk.pop();
}
stk.push(i);
}
for (int i = n; i >= 1; i--)
{
if (stk.size() && stk.top() == i)
stk.pop();
else
a[i] = a[i + 1];
}
for (int i = 1; i <= n; i++)
cout << a[i] << '\n';
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |