标签:des style http color java os io strong
5 1 4 2 3 9 0
136HintIn the sample, b1=1, c1=4, b2=4, c2=4, b3=4, c3=2, b4=3, c4=9, b5=9, c5=9, so b1 * c1 + b2 * c2 + … + b5 * c5 = 136.
#include<stdio.h>
#include<string.h>
__int64 fact[100005][129],k[100005];
void setprim()
{
memset(k,0,sizeof(k));
for(__int64 i=1;i<=100000;i++)
{
for(__int64 j=i;j<=100000;j+=i)
{
fact[j][++k[j]]=i;
}
}
}
__int64 a[100005],b[100005],c[100005],index[100005];
int main()
{
setprim();
__int64 i,j,sum,n;
while(scanf("%I64d",&n)>0&&n)
{
for( i=1;i<=n;i++)
scanf("%I64d",&a[i]);
memset(index,0,sizeof(index));
for(i=1;i<=n;i++)
{
if(index[a[i]])b[i]=a[index[a[i]]];
else b[i]=a[i];
for(j=1;j<=k[a[i]];j++)
index[fact[a[i]][j]]=i;
}
sum=0;
memset(index,0,sizeof(index));
for(i=n;i>=1;i--)
{
if(index[a[i]])c[i]=a[index[a[i]]];
else c[i]=a[i];
for(j=1;j<=k[a[i]];j++)
index[fact[a[i]][j]]=i;
}
for( i=1;i<=n;i++)
sum+=b[i]*c[i];
printf("%I64d\n",sum);
}
}
HDU4961Boring Sum(在线更新方法),布布扣,bubuko.com
标签:des style http color java os io strong
原文地址:http://blog.csdn.net/u010372095/article/details/38704843