您的位置:首页 > 其它

codeforce 567C

2015-08-10 12:36 211 查看
  题目:给定一个数组,任取三个数ai,aj,ak 满足 i<j<k && ai *q*q == aj * q == ak .

  这是大神的代码,用心去感受:

  

  

map<long long ,long long >c1,c2;

long long   n,k;
int main()
{
long long  ans=0;
scanf ("%I64d %I64d",&n,&k);
for(int i=0;i<n;i++)
{
long long temp;
scanf ("%I64d",&temp);
if(temp%(k*k)==0) ans+=c1[temp/k];
if(temp%k==0) c1[temp]+=c2[temp/k];
c2[temp]++;
}
printf("%I64d\n",ans);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: