제출 #844312

#제출 시각아이디문제언어결과실행 시간메모리
844312vjudge1Spiderman (COCI20_spiderman)C++17
70 / 70
67 ms21584 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define endl "\n" #define all(c) (c).begin(), (c).end() const int N = 1e6 + 6; int cnt[N],freq[N]; void solve(){ int n,k,fuck = 0; cin >> n >> k; vector<int> v(n),ans(n); for(int i = 0; i < n; i++){ cin >> v[i]; if(v[i] > k) freq[v[i]]++,fuck++; } for(int i = 1; i < N; i++){ for(int j = i; j < N; j += i){ cnt[j] += freq[i]; } } for(int i = n - 1; i >= 0; i--){ if(v[i] > k){ ans[i] = cnt[v[i] - k]; } else if(v[i] == k) ans[i] = fuck; } for(int x : ans){ cout << x - (k == 0) << ' '; } } signed main(){ #ifndef ONLINE_JUDGE // freopen("in.txt","r",stdin); freopen("out.txt","w",stdout); #endif ios_base::sync_with_stdio(0); cin.tie(0); int t = 1; // cin >> t; while(t--){ solve(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...