给出N个整数,你来判断一下是否能够选出4个数,他们的和为0,可以则输出"Yes",否则输出"No"。
第1行,1个数N,N为数组的长度(4 <= N <= 1000) 第2 - N + 1行:A[i](-10^9 <= A[i] <= 10^9)
我们直接暴力肯定不行,找规律先找四个数其和为0 eg: -6 3 1 2 我们可以先发现任意两个的和为其他两个的相反数,这样枚举两个就行了,但是还是很麻烦,可以先对其排序,枚举前两个较小的
用二分(也不算二分其实更像是双指针)来判断后两个数,一经查找直接输出
#include#include using namespace std; const int N= 1010; int a[N]; bool solve(int l,int r,int sum) { while(l n; for(int i=0;i >a[i]; } sort(a,a+n); for(int i=0;i



