题目链接:uva 11039 - Building designing
题目大意:给出n个数,均为非0数,要求选出尽量多的数组成序列,序列要求正负交替,绝对值递增。
解题思路:读入时将正数与负数分别储存在两个数组,负数可以直接储存绝对值。然后将两个数组按照绝对大小分别排序,然后在两个数组中交替选出尽量小的数,满足绝对值大于前面一个选出的数。
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
const int N = 500005;
int n, l, r, left[N