CCF认证 20140301 相反数

在这里插入图片描述
思路:将给定序列进行排序,然后遍历负数元素和0,利用二分查找算法在整个序列中查找当前元素的相反数,统计能查找到相反数的数量即可。

#include <bits/stdc++.h>
using namespace std;
const int maxn = 500;
int main(){
	int a[maxn],n;cin>>n;
	for(int i=0;i<n;i++)
		cin>>a[i];
	sort(a,a+n);
	int ans=0;
	for(int i=0;a[i]<=0;i++)
		if(binary_search(a+i+1,a+n,-a[i]))
			ans++;
	cout<<ans;
	return 0;
}
发布了99 篇原创文章 · 获赞 44 · 访问量 5505

猜你喜欢

转载自blog.csdn.net/weixin_44413191/article/details/103545766