Submission #345651

#TimeUsernameProblemLanguageResultExecution timeMemory
345651Pichon5Spiderman (COCI20_spiderman)C++17
49 / 70
2078 ms15024 KiB
#include<bits/stdc++.h> #define lcm(a,b) (a/__gcd(a,b))*b #define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define ll long long int #define vi vector<int> #define vll vector<ll> #define pb push_back #define F first #define S second #define mp make_pair //salida rapida "\n" //DECIMALES fixed<<sp(n)<<x<<endl; //gcd(a,b)= ax + by //lCB x&-x //set.erase(it) - ersases the element present at the required index//auto it = s.find(element) //set.find(element) - iterator pointing to the given element if it is present else return pointer pointing to set.end() //set.lower_bound(element) - iterator pointing to element greater than or equal to the given element //set.upper_bound(element) - iterator pointing to element greater than the given element // | ^ using namespace std; int main() { ll n,k; int x; cin>>n>>k; vi v; map<int,int>m; ll mayores=0; for(int i=0;i<n;i++){ cin>>x; if(x>k){ mayores++; m[x]++; } v.pb(x); } vi res; for(int i=0;i<n;i++){ int c=0; int num=v[i]-k; if(v[i]==k){ res.pb(mayores); continue; } if(v[i]<k){ res.pb(0); continue; } for(ll l=1;l*l<=num;l++){ if(num%l==0){ c+=m[l]; if(l*l!=num){ c+=m[num/l]; } } } if(k==0){ c--; } res.pb(c); } for(int i=0;i<n;i++){ cout<<res[i]<<" "; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...