typedef long long ll; typedef long double ld; #include using namespace std; int main() { ll n,d; std::cin >> n>>d; vector a(n); map vi,iv; for (int i = 0; i < n; i++) { std::cin >> a[i]; vi[a[i]] = i; iv[i] = a[i]; } sort(a.begin(),a.end()); map ans; for (int i = 0; i < n; i++) { ans[a[i]] = distance(a.begin(),upper_bound(a.begin(),a.end(),a[i]-d)); } for (int i = 0; i < n; i++) { std::cout << ans[iv[i]] << std::endl; } }