Submission #844312

# Submission time Handle Problem Language Result Execution time Memory
844312 2023-09-05T12:14:40 Z vjudge1 Spiderman (COCI20_spiderman) C++17
70 / 70
67 ms 21584 KB
#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 time Memory Grader output
1 Correct 14 ms 15964 KB Output is correct
2 Correct 15 ms 15964 KB Output is correct
3 Correct 26 ms 17888 KB Output is correct
4 Correct 49 ms 21584 KB Output is correct
5 Correct 26 ms 17692 KB Output is correct
6 Correct 57 ms 21560 KB Output is correct
7 Correct 35 ms 17832 KB Output is correct
8 Correct 26 ms 17752 KB Output is correct
9 Correct 67 ms 21472 KB Output is correct
10 Correct 58 ms 21312 KB Output is correct