HDU 5680 zxa and set 水题

zxa and set

题目连接:

http://acm.hdu.edu.cn/showproblem.php?pid=4681

Description

zxa has a set A={a1,a2,⋯,an}, which has n elements and obviously (2n−1) non-empty subsets.

For each subset B={b1,b2,⋯,bm}(1≤m≤n) of A, which has m elements, zxa defined its value as min(b1,b2,⋯,bm).

zxa is interested to know, assuming that Sodd represents the sum of the values of the non-empty sets, in which each set B is a subset of A and the number of elements in B is odd, and Seven represents the sum of the values of the non-empty sets, in which each set B is a subset of A and the number of elements in B is even, then what is the value of |Sodd−Seven|, can you help him?

Input

The first line contains an positive integer T, represents there are T test cases.

For each test case:

The first line contains an positive integer n, represents the number of the set A is n.

The second line contains n distinct positive integers, repersent the elements a1,a2,⋯,an.

There is a blank between each integer with no other extra space in one line.

1≤T≤100,1≤n≤30,1≤ai≤109

Output

For each test case, output in one line a non-negative integer, repersent the value of |Sodd−Seven|.

Sample Input

3
1
10
3
1 2 3
4
1 2 3 4

Sample Output

10
3
4

Hint

题意

zxa有一个集合\(A=\{a_1,a_2,\cdots,a_n\}\)\(n\)表示集合\(A\)的元素个数,这个集合明显有\((2^n-1)\)个非空子集合。

对于每个属于\(A\)的子集合\(B=\{b_1,b_2,\cdots,b_m\}(1\leq m\leq n)\)\(m\)表示集合\(B\)的元素个数,zxa定义它的价值是\(\min(b_1,b_2,\cdots,b_m)\)

zxa很好奇,如果令\(S_{odd}\)表示集合\(A\)的所有含奇数个元素的非空子集合的价值之和,\(S_{even}\)表示集合\(A\)的所有含偶数个元素的非空子集合的价值之和,那么\(|S_{odd}-S_{even}|\)是多少,你能帮助他吗?

题解:

不管是数学方法,或者瞎爆搜,可以猜到答案就是最大值

直接输出就好了

代码

#include<bits/stdc++.h>
using namespace std;

void solve()
{
    int n;scanf("%d",&n);
    int ans=0,x;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&x);
        ans=max(ans,x);
    }
    printf("%d\n",ans);
}
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)solve();
    return 0;
}
posted @ 2016-05-15 18:18  qscqesze  阅读(284)  评论(0编辑  收藏  举报