제출 #1175898

#제출 시각아이디문제언어결과실행 시간메모리
1175898NurislamStone Arranging 2 (JOI23_ho_t1)C++20
100 / 100
170 ms27316 KiB
#include <bits/stdc++.h>

using namespace std;


#define int long long
#define pb push_back

int inf = 1e18; 

const int mod = 1e9 + 7;
const int N = 2e5+3;


void solve(){
	int n;
	cin >> n;
	
	map<int,vector<int>> mp;
	
	vector<array<int,2>> q;
	
	for(int i = 0; i < n; i ++ ) {
		int x;cin >> x;
		if(mp[x].size()){
			int l = mp[x].back();
			while(q.size() && q.back()[1] > l) {
				mp[q.back()[0]].pop_back();
				q.pop_back();
			}
		};
		mp[x].push_back(i);
		q.push_back({x, i});
	}
	int la = 0, id = 0;
	for(auto [a, b] : q) {
		while(id < b) {
			cout << la << '\n';
			id ++ ;
		};
		la = a; id = b;
	};
	while(id < n){
		cout << la << '\n';
		id ++ ;
	}
};

signed main(){
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr); cout.tie(nullptr);
	int tt = 1;
	//cin >> tt;
	
	while(tt -- ){
		solve();
	};
	
};
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...