Submission #844717

#TimeUsernameProblemLanguageResultExecution timeMemory
844717vjudge1Spiderman (COCI20_spiderman)C++17
56 / 70
640 ms13900 KiB
#include <bits/stdc++.h> #define int long long int #define MP make_pair #define pb push_back #define REP(i,n) for(int (i) = 0; (i) < (n); (i)++) using namespace std; const double EPS = 0.00001; const int INF = 1e9+500; const int N = 1e6+5; int n,m,q,k; vector<int> cnt,h; vector<int> ans; void fastio() { ios_base::sync_with_stdio(false); cin.tie(NULL); } void solve() { cin>>n>>k; h.resize(n); ans.resize(n); cnt.resize(N); for(int i = 0; i<n; i++) { cin>>h[i]; } for(int i = 0; i<n; i++) { if(h[i] <= k) continue; int ind = h[i]; while(ind < N) { cnt[ind]++; ind+=h[i]; } } for(int i = 0; i<n; i++) { if(h[i] - k < 0) { ans[i] = 0; continue; } if(h[i] == k) { ans[i] = -1; continue; } ans[i] = cnt[h[i] - k]; } sort(h.begin(),h.end()); int ind = 0; while(ind < n && h[ind] <= k) ind++; int x = n - ind; for(int i = 0; i<n; i++) { if(ans[i] == -1) ans[i] = x; cout<<ans[i]<<" "; } } signed main() { fastio(); int test = 1; //cin>>test; while(test--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...