#pragma GCC optimize("O3")//thanks to Raul :)
#include<bits/stdc++.h>//
#define ll long long
#define endl "\n"
#define AI ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
const ll sz=3e5+23;//
bool comp(pair<string,ll>&a,pair<string,ll>&b)
{
if(a.second==b.second)
return a.first<b.first;
return a.second>b.second;
}
void solve()
{
ll n,k,i,j,say=0;
cin>>n>>k;
ll a[n];
map<ll,ll>mp;
for(i=0;i<n;i++)
{
cin>>a[i];
mp[a[i]]++;
if(a[i]>k)
say++;
}
for(i=0;i<n;i++)
{
if(a[i]==k)
{
cout<<say<<' ';
continue;
}
if(k>a[i])
{
cout<<0<<' ';
continue;
}
ll co=0;
ll nw=a[i]-k;
for(j=2;j<=sqrt(nw);j++)
{
if(nw%j==0)
{
if(j>k and a[i]%j==k)
co+=mp[j];
ll x=nw/j;
if(x!=j and x>k and a[i]%x==k)
co+=mp[x];
}
}
// cout<<co<<"--";
if(a[i]%nw==k)
co+=mp[nw];
if(1!=nw and a[i]%1==k)
co+=mp[1];
if(nw==a[i] and a[i]%nw==k)
co--;
if(nw!=1 and a[i]==1 and a[i]%1==k)
co--;
cout<<co<<" ";
}
cout<<endl;
}
int main()
{
AI
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
ll t=1;
// cin>>t;
while(t--)
solve();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |