Submission #1226635

#TimeUsernameProblemLanguageResultExecution timeMemory
1226635ffeyyaae_Stone Arranging 2 (JOI23_ho_t1)C++20
100 / 100
139 ms14372 KiB
#include <bits/stdc++.h> using namespace std; const int N = 2e5+5; int n; int a[N]; map<int,bool> mp; stack<int> st; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; st.push(-1); for( int i=0;i<n;i++ ) { cin >> a[i]; if( mp.find(a[i]) == mp.end() || mp[a[i]] == false ) mp[a[i]] = true; else { while( !st.empty() && a[st.top()] != a[i] ) { mp[a[st.top()]] = false; st.pop(); } st.pop(); } st.push( i ); } vector<int> ans; while( !st.empty() ) { int top = st.top(); st.pop(); if( top == -1 ) break; int cnt = top; while( cnt>st.top() ) { ans.push_back( a[top] ); cnt--; } } for( int i=n-1;i>=0;i-- ) cout << ans[i] << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...