//只需按绝对值排序就行了,用一个标志来判断,当符号改变时+1
#include<cstdio>
#include<cstdlib>
#include<algorithm>
using namespace std;
int a[500005];
int n,m;
int cmp(int a,int b){
return abs(a)<abs(b);
}
int main(){
scanf("%d",&n);
while(n--){
scanf("%d",&m);
for(int i=0;i<m;i++)
scanf("%d",&a[i]);
sort(a,a+m,cmp);
int res=1;
int tmp;
if(a[0]<0)
tmp=-1;
else
tmp=1;
//这儿竟然一开始写成i=2了WA了一次,眼睛瞎了
for(int i=1;i<m;i++){
if(a[i]*tmp<0){
res++;
tmp=-tmp;
}
}
printf("%d\n",res);
}
return 0;
}
UVA 11039
最新推荐文章于 2019-09-13 23:32:29 发布