#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	int n, m;
	cin >> n >> m;
	vector<int> a(n);
	for (int& u : a) cin >> u, --u;
	vector<int> lds;
	lds.reserve(n);
	vector<int> color(n);
	for (int u : a) {
		int j = lower_bound(lds.begin(), lds.end(), -u) - lds.begin();
		color[u] = j + 1;
		
		if (j == (int)lds.size()) lds.push_back(-u);
		else lds[j] = -u;
	}
	for (int u : a) cout << color[u] << " ";
	cout << "\n";
	for (int i = 0; i < n; i++) cout << color[i] << " ";
	cout << "\n";
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |