题目描述:
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?
输入描述:
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
输出描述:
For each test case, output in one line a non-negative integer, repersent the value of |Sodd−Seven|.
输入:
3
1
10
3
1 2 3
4
1 2 3 4
输出:
10
3
4
题意:
给定集合有奇数个元素组成的子集和偶数子集组成的得价值差值的绝对值是多少;
题解:
发现就是这个集合里最大的元素
代码:
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
using namespace std;
const int maxn = 100 + 5;
int a[maxn];
int main(){
int t,n;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
for(int i = 1; i <= n; i ++){
scanf("%d",&a[i]);
}
sort(a + 1,a + n + 1);
printf("%d\n",a[n]);
}
return 0;
}