제출 #774742

#제출 시각아이디문제언어결과실행 시간메모리
774742vjudge1Stone Arranging 2 (JOI23_ho_t1)C++17
35 / 100
30 ms9940 KiB
#include<bits/stdc++.h> #define sz(a) (int)a.size() #define MaxN 200005 using namespace std; int n, a[MaxN]; vector<int> pos[MaxN]; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cin >> n; for(int i = 1; i <= n; ++i) cin >> a[i]; for(int i = 1; i <= n; ++i) pos[a[i]].push_back(i); for(int c = 1; c <= n; ++c) reverse(pos[c].begin(), pos[c].end()); int p = 1; while(p < n) { // a[n] = a[n] int nxt = -1; while(sz(pos[a[p]]) > 0) { nxt = pos[a[p]][sz(pos[a[p]])-1]; if (p >= nxt) { pos[a[p]].pop_back(); nxt = -1; } else { break; } } if (nxt != -1) { for(int i = p+1; i <= nxt; ++i) a[i] = a[p]; p = nxt; } else { ++p; } } for(int i = 1; i <= n; ++i) cout << a[i] << "\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...