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;
}