题目大意:n个绝对值各不相同的非0整数,选出尽量多的数,排成一个序列,使得正负号交替且绝对值递增。

分析:按照绝对值大小排一次序,然后扫描一次,顺便做个标记即可。

#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;

int cmp(int a,int b)
{
return abs(a)<abs(b);
}
int main()
{
int cas,a[100000],n;
scanf("%d",&cas);
for(int ii=1;ii<=cas;ii++)
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
sort(a+1,a+1+n,cmp);
int flag=0;
int ans=0;
for(int i=1;i<=n;i++)
{
if(flag==0)
{
if(a[i]>0)
flag=1;
else
flag=2;
ans++;
}
else if(flag==1)
{
if(a[i]<0)
{
flag=2;
ans++;
}
}
else if(flag==2)
{
if(a[i]>0)
{
flag=1;
ans++;
}
}
}
printf("%d\n",ans);
}
return 0;
}

最新文章

  1. mysql 命令导入导出
  2. 一道google面试题
  3. C# 解析 Json
  4. BZOJ 1083 题解
  5. mybatis 下划线转驼峰配置
  6. JAVA实现File类中的遍历操作并输出内容
  7. MySQL(19):SQL语句(MySQL)大全
  8. JavaScript--函数-01
  9. MVC和传统的以模板为中心的web架构比较
  10. There is no satiety in study
  11. php学习笔记之一维数组
  12. Codeforces Round #446 (Div. 2)
  13. java对excel文件内容读写修改操作
  14. 图像控件 ImageControl
  15. 论文笔记:Tracking by Natural Language Specification
  16. Oracle client安装教程
  17. Learning to Rank算法介绍:RankSVM 和 IR SVM
  18. centos6.5(64位)离线安装scalr
  19. python学习(十九)常见的第三方库
  20. openfire安装配置完全教程

热门文章

  1. Python的神奇方法指南
  2. HBase vs. BigTable Comparison - HBase对比BigTable
  3. 字符集与字符编码 (charset &amp; encoding)
  4. Chrome 开发者工具有了设备模拟器
  5. IE7的overflow失效的解决方法
  6. android之DOM生成与解析
  7. jQuery Ajax之load()方法
  8. Unity开发Android应用程序:调用安卓应用程序功能
  9. SharePoint开发 - Excel数据导入到SharePoint自定义列表(数据视图方式)
  10. Oracle Data Integrator与OWB的集成及迁移