您的位置:首页 > 其它

UVa 11039

2016-06-16 16:23 218 查看
#include <cstdio>

#include <algorithm>

using namespace std;

int n;

int a[500010];

int cmp(int x,int y)

{
return abs(x) < abs(y);

}

int get(int k)

{
int sum = 0,i = 0;
for(;i<n;)
{

k=-k;
if(k==1) 
{
for(;a[i]<0 && i<n;i++);
}
else
{
for(;a[i]>0 && i<n;i++);
}
if(i<n)
sum++;
}
return sum;

}

int main()

{
int T=0;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
for(int i=0;i<n;i++) scanf("%d",&a[i]);
sort(a,a+n,cmp);
printf("%d\n",max( get(1) , get(-1) ));

}
return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  uva