Submission #1024836

#TimeUsernameProblemLanguageResultExecution timeMemory
1024836MohamedFaresNebiliStone Arranging 2 (JOI23_ho_t1)C++14
100 / 100
64 ms7640 KiB
#include <bits/stdc++.h>

		using namespace std;

		int N, A[200005];
		int R[200005], nxt[200005];
		vector<int> C;

		int32_t main() {
			ios_base::sync_with_stdio(0);
			cin.tie(0); cout.tie(0);
			cin >> N;
			for(int l = 0; l < N; l++) {
				cin >> A[l];
				C.push_back(A[l]);
			}
			memset(R, -1, sizeof R);
			sort(C.begin(), C.end());
			C.erase(unique(C.begin(), C.end()), C.end());
			for(int l = 0; l < N; l++) {
				A[l] = lower_bound(C.begin(), C.end(), A[l]) - C.begin();
			}
			for(int l = N - 1; l >= 0; l--) {
				nxt[l] = R[A[l]]; R[A[l]] = l;
			}
			for(int l = 0; l < N; l++) {
				if(nxt[l] == -1) continue;
				int K = nxt[l];
				for(; l < K; l++) 
					A[l] = A[K];
				l--;
			}
			for(int l = 0; l < N; l++) {
				cout << C[A[l]] << "\n";
			}
		}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...