#pragma GCC optimize(2)
// Skyqwq
#include <bits/stdc++.h>
#define pb push_back
#define fi first
#define se second
#define mp make_pair
using namespace std;
typedef pair<int, int> PII;
typedef long long LL;
template <typename T> bool chkMax(T &x, T y) { return (y > x) ? x = y, 1 : 0; }
template <typename T> bool chkMin(T &x, T y) { return (y < x) ? x = y, 1 : 0; }
template <typename T> void inline read(T &x) {
int f = 1; x = 0; char s = getchar();
while (s < '0' || s > '9') { if (s == '-') f = -1; s = getchar(); }
while (s <= '9' && s >= '0') x = x * 10 + (s ^ 48), s = getchar();
x *= f;
}
const int N = 1e5 + 5;
int n, k, a[N * 32], in[N * 32], rt, L = 1e9, ans[N], tot;
vector<int> g[N * 32];
int idx;
struct T{
int l, r;
} t[N * 32];
#define ls t[p].l
#define rs t[p].r
void inline add(int x, int y) {
if (!y) return;
g[x].pb(y), in[y]++;
}
void change(int &p, int l, int r, int x, int y) {
int la = p;
t[p = ++idx] = t[la];
a[p] = -1;
if (l == r) {
add(p, y);
add(p, la);
return;
}
int mid = (l + r) >> 1;
if (x <= mid) change(ls, l, mid, x, y);
else change(rs, mid + 1, r, x, y);
if (ls) add(p, ls);
if (rs) add(p, rs);
}
void query(int p, int l, int r, int x, int y, int i) {
if (x > y) return ;
if (!p) return ;
if (x <= l && r <= y) {
add(i, p);
return;
}
int mid = (l + r) >> 1;
if (x <= mid) query(ls, l, mid, x, y, i);
if (mid < y) query(rs, mid + 1, r, x, y, i);
}
priority_queue<PII, vector<PII>, greater<PII> > q;
void topo() {
for (int i = 1; i <= idx; i++)
if (!in[i]) q.push(mp(a[i], i));
while (!q.empty()) {
int u = q.top().se; q.pop();
if (u <= n) ans[++tot] = a[u];
for (int v: g[u]) {
if (--in[v] == 0) q.push(mp(a[v], v));
}
}
}
int main() {
read(n), read(k); idx = n;
for (int i = 1; i <= n; i++) read(a[i]);
for (int i = n; i; i--) {
query(rt, 1, L, a[i] + k + 1, L, i);
query(rt, 1, L, 1, a[i] - k - 1, i);
change(rt, 1, L, a[i], i);
}
topo();
for (int i = 1; i <= n; i++) printf("%d\n", ans[i]);
return 0;
}
热烈祝贺墨染空大佬阅读量20万!!!
对对对对对对对
。
空哥,我心中永远的神
大佬居然下线了5个月
orz
Orz
orz
orz
orz
我差点把电脑和脑子一起砸了https://www.acwing.com/file_system/file/content/whole/index/content/4229548/
hhh
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Orz