Submission #774644

#TimeUsernameProblemLanguageResultExecution timeMemory
774644huutuanStone Arranging 2 (JOI23_ho_t1)C++14
100 / 100
166 ms21068 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define sz(x) ((int)x.size()) #define sumof(x) accumulate(all(x), 0ll) const int N=2e5+1; int n, ans[N]; map<int, int> cnt; void solve(int tc){ // cout << "Case #" << tc << ": "; cin >> n; vector<pair<pair<int, int>, int>> v; for (int i=1; i<=n; ++i){ int x; cin >> x; if (cnt[x]){ while (v.back().second!=x){ --cnt[v.back().second]; v.pop_back(); } auto j=v.back(); v.pop_back(); v.push_back({{j.first.first, i}, x}); }else v.push_back({{i, i}, x}), cnt[x]=1; } for (auto& i:v) for (int j=i.first.first; j<=i.first.second; ++j) ans[j]=i.second; for (int i=1; i<=n; ++i) cout << ans[i] << '\n'; } int32_t main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int ntests=1; // cin >> ntests; for (int i=1; i<=ntests; ++i) solve(i); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...