Submission #447048

#TimeUsernameProblemLanguageResultExecution timeMemory
447048grtSpiderman (COCI20_spiderman)C++17
70 / 70
100 ms10268 KiB
#include <bits/stdc++.h>
#define PB push_back
#define ST first
#define ND second
#define _ ios_base::sync_with_stdio(0); cin.tie(0);
//mt19937 rng(chrono::high_resolution_clock::now().time_since_epoch().count());

using namespace std;

using ll = long long;
using pi = pair<int,int>;
using vi = vector<int>;

const int nax = 1e6 + 10;
int n, k, mx;
vi num;
int ans[nax], cnt[nax];

int main() {_
	cin >> n >> k;
	num.resize(n);
	for(int i = 0; i < n; ++i) {
		cin >> num[i];
		cnt[num[i]]++;
		mx = max(mx, num[i]);
	}
	for(int i = 1; i <= mx; ++i) {
		if(cnt[i] == 0 || i <= k) continue;
		for(int j = 0; j <= mx; j += i) {
			if(j + k <= mx) {
				ans[j + k] += cnt[i];
			}
		}
		if(k == 0) ans[i]--;
	}
	for(int x : num) {
		cout << ans[x] << " ";
	}
	
}
#Verdict Execution timeMemoryGrader output
Fetching results...