Submission #1155273

#TimeUsernameProblemLanguageResultExecution timeMemory
1155273dnnndaStone Arranging 2 (JOI23_ho_t1)C++20
100 / 100
245 ms19624 KiB
#include<bits/stdc++.h>
using namespace std;
#define S second
#define F first
#define ll long long
#define int long long
//#pragma GCC optimize("Ofast, unroll-loop")
//#pragma GCC target("avx,avx2")
#pragma GCC optimize("O3")
const int inf=0x3f3f3f3f;
const ll inff=0x3f3f3f3f3f3f3f3f;
const int X=1000000007;

map<int,int> cnt;
int a[200005];
vector<pair<int,int>> stk{{0,0}};

signed main(){
    ios::sync_with_stdio(0), cin.tie(0);
    int n; cin >> n;
    for(int i=1 ; i<=n ; i++) cin >> a[i];
    for(int i=1 ; i<=n ; i++){
        if(cnt[a[i]]){
            while(stk.back().F!=a[i]){
                cnt[stk.back().F]--;
                stk.pop_back();
            }

        }
        cnt[a[i]]++;
        stk.push_back({a[i],i});
    }
    //for(auto[c,id]:stk) cout << c << ' ' << id << '\n';
    for(int i=1 ; i<stk.size() ; i++){
        for(int j=0 ; j<stk[i].S-stk[i-1].S ; j++) cout << stk[i].F << '\n';
    }


    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...