#include <stdio.h>
int main()
{
int n,a,i,j,k;
int cnt=0;
int b[1000000];
for(i=0;i<100000;i++)
{
b[i]=0;
}
scanf("%d",&n);
int arr[n];
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
a=arr[i]+arr[j];
for(k=0;k<n;k++)
{
if(a==arr[k]&&b[a]==0)
{
cnt++;
b[a]=-1;
}
}
}
}
printf("%d",cnt);
}
注意数组b[],由于如果出现类似于3 5 8 5 3 这样的情况 a=arr[i]+arr[j] cnt++会被重复计算 所以要判断相等 这个很重要!!!!