#include <bits/stdc++.h>
using namespace std;
template<typename T>
void out(T x) { cout << x << endl; exit(0); }
#define watch(x) cout << (#x) << " is " << (x) << endl
using ll = long long;
const int maxn = 1e6 + 5;
int n, k;
int freq[maxn];
int ans[maxn];
vector<int> a;
int main() {
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
cin>>n>>k;
a.resize(n);
for (int i=0; i<n; i++) {
cin>>a[i];
freq[a[i]]++;
}
// hi->hj if hi%hj=k
/// hi = hj*x + k, hj>k
for (int hj=k+1; hj<maxn; hj++) {
for (int x=0; hj*x+k<maxn; x++) {
int hi = hj*x+k;
ans[hi] += freq[hj];
}
}
for (int x: a) {
int cur = ans[x];
if (k == 0) cur--;
cout<<cur<<" ";
}
cout<<endl;
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
20 ms |
6508 KB |
Output is correct |
2 |
Correct |
26 ms |
5740 KB |
Output is correct |
3 |
Correct |
45 ms |
7404 KB |
Output is correct |
4 |
Correct |
79 ms |
8812 KB |
Output is correct |
5 |
Correct |
46 ms |
8812 KB |
Output is correct |
6 |
Correct |
90 ms |
10220 KB |
Output is correct |
7 |
Correct |
46 ms |
8812 KB |
Output is correct |
8 |
Correct |
46 ms |
8812 KB |
Output is correct |
9 |
Correct |
91 ms |
10220 KB |
Output is correct |
10 |
Correct |
91 ms |
10220 KB |
Output is correct |