bryce1010模板
http://codeforces.com/gym/101810

#include<bits/stdc++.h>

using namespace std;
#define ll long long
ll a[1000005];
int main()
{

    int t,n,temp;
    ll ans,maxn,minl,x;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%I64d",&n);
        ans=0;
        maxn=0;
        minl=1e9;
        memset(a,0,sizeof(a));
        for(int i=0;i<n;i++)
        {
            scanf("%I64d",&x);
            a[x]++;
            maxn=max(maxn,x);
            minl=min(minl,x);
        }
        for(ll i=minl;i<=maxn;i++)
        {
            if(a[i]==0)
            continue;
            for(ll j=2*i;j<=maxn;j+=i)
            {
                if(a[j]!=0)
                {
                    a[i]+=a[j];
                    a[j]=0;
                }
            }
            ans+=a[i]*i;
        }
        printf("%I64d\n",ans);
    }
    return 0;
}

相关文章:

  • 2021-07-16
  • 2021-08-13
  • 2021-12-07
  • 2022-01-03
  • 2021-05-22
  • 2021-09-17
  • 2021-11-24
猜你喜欢
  • 2021-11-11
  • 2021-10-15
  • 2021-08-30
  • 2021-11-25
  • 2021-06-04
  • 2021-12-21
  • 2022-12-23
相关资源
相似解决方案