求助,这么写为啥一分没有,思路是暴力枚举因数,加上因数在桶内出现的次数,我是脑瘫,求大佬解惑
#include <stdio.h>
#include <math.h>
#include <algorithm>
#define Maxn 200005
#define Maxa 500005
using namespace std;
long long int n,a[Maxn],blc[Maxa],cnt;
int main()
{
scanf("%lld",&n);
for(int i=1;i<=n;i++)
{
scanf("%lld",&a[i]);
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++)
{
for(int j=1;j*j<=n;j++)
{
if(a[i]%j) continue;
if(j==a[i]/j) cnt+=blc[j];
else cnt+=(blc[j]+blc[a[i]/j]);
}
}
printf("%lld",cnt-n);
}