您的位置:首页 > 产品设计 > UI/UE

UVA 11039 - Building designing(DP)

2013-10-29 20:19 323 查看
题目链接

本质上是DP,但是俩变量就搞定了。

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int p[500001];
bool cmp(int a,int b)
{
if(a < 0)
a = -a;
if(b < 0)
b = -b;
return a < b;
}
int main()
{
int t,n,p1,p2,i;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(i = 0;i < n;i ++)
{
scanf("%d",&p[i]);
}
sort(p,p+n,cmp);
p1 = p2 = 0;
for(i = 0;i < n;i ++)
{
if(p[i] > 0)
p1 = p2 + 1;
else
p2 = p1 + 1;
}
printf("%d\n",max(p1,p2));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: