https://codeforces.com/contest/1348/problem/A
题意:
把数组 \(2^1,2^2,2^3,\cdots,2^n\) 分成个数相等的两堆,最小化两堆的和之差的绝对值
\(n\) 为偶数
思路:
\(2^n\) 比其他所有数加起来还大,所以 \(2^1,2^2,\cdots,2^{n/2-1},2^n\) 放一堆,其他放另一堆
#include <bits/stdc++.h>
using namespace std;
signed main()
{
int t, n; cin >> t; while(t--)
{
cin >> n; int ans1 = 1<<n, ans2 = 0;
for(int i = 1; i < n/2; i++) ans1 |= (1<<i);
for(int i = n/2; i < n; i++) ans2 |= (1<<i);
cout << ans1-ans2 << '\n';
}
return 0;
}