Submission #881323

# Submission time Handle Problem Language Result Execution time Memory
881323 2023-12-01T06:46:24 Z ilhan_arda Spiderman (COCI20_spiderman) C++17
56 / 70
1010 ms 7808 KB
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx,avx2,fma")
#include <bits/stdc++.h>
#define fast ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define fi first
#define se second
#define pb push_back
#define endl "\n"
//~ #define int long long
using namespace std;
 
typedef tuple<int, int, int> iii;
typedef long long ll;
const int mod =998244353;
 
int n, k;
int a[300005], mp[1000005];
 
int32_t main(){
	fast;
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		mp[a[i]]++;
	}
	//~ sort(a+1, a+n+1);
	int temp=0;
	for(int i=1;i<=n;i++){
		if(a[i]<k){
			cout<<0<<" ";
			continue;
		}
		if(a[i]==k && !temp){
			temp=n;
			for(int j=1;j<=n;j++){
				if(a[j]<=k)temp--;
			}
			cout<<temp<<" ";
			continue;
		}
		else if(a[i]==k){
			cout<<temp<<" ";
			continue;
		}
		int ans=0;
		a[i]-=k;
		for(int  j=1;j*j<=a[i];j++){
			if(a[i]/j*j==a[i]){
				if(j>k)ans+=mp[j];
				if(j*j!=a[i] && a[i]/j>k)ans+=mp[a[i]/j];
				
			}
		}
		a[i]+=k;
		cout<<ans<<" ";
	}
	cout<<endl;
}
# Verdict Execution time Memory Grader output
1 Correct 6 ms 4704 KB Output is correct
2 Correct 7 ms 4704 KB Output is correct
3 Correct 263 ms 5552 KB Output is correct
4 Correct 767 ms 7808 KB Output is correct
5 Incorrect 299 ms 5716 KB Output isn't correct
6 Incorrect 877 ms 7788 KB Output isn't correct
7 Correct 339 ms 5456 KB Output is correct
8 Correct 342 ms 5444 KB Output is correct
9 Correct 1010 ms 7636 KB Output is correct
10 Correct 1008 ms 7752 KB Output is correct