CCF 201403-1 相反数
#include<stdio.h>
#include<stdlib.h>
#include<memory.h>
int main()
{
int n =0;
scanf("%d",&n);
int* a = (int*)malloc(sizeof(int)*n);
int b[1001];
int c[1001];
memset(b,0,sizeof(int)*1001);
memset(c,0,sizeof(int)*1001);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
for(int i=0;i<n;i++)
{
if(a[i] > 0)
{
b[ a[i] ] ++;
}
else if( a[i] < 0)
{
c[ -a[i] ] ++;
}
}
int s =0;
int min =0;
for(int i=0;i<1001;i++)
{
if(c[i] != 0)
{
if(b[i] !=0)
{
s += c[i] >b[i] ? b[i] : c[i];
}
}
}
printf("%d\n",s);
//system("pause");
return 0;
}