洛谷-P2415 集合求和
题目描述
给定一个集合s(集合元素数量<=30),求出此集合所有子集元素之和。
输入格式
集合中的元素(元素<=1000)
输出格式
和
输入输出样例
输入 #1
2 3
输出 #1
10
说明/提示
子集为:
[] [2] [3] [2 3] 2+3+2+3=10
保证结果在10^18以内。
C++代码
#include <iostream>
#include <cmath>
using namespace std;
int s[30];
int main() {
int k = 0;
long long ans = 0;
while (cin >> s[k++]);
for (int i=0; i<k-1; ++i)
ans += s[i];
ans *= pow(2, k-2);
cout << ans << endl;
return 0;
}