一道题目长的水题。。。。
总结就一句话,给出n个(-3~3)的数,一个数m,取任意个数是使这些数的m次幂之和最大。
code
#include <iostream>
#include <cmath>
using namespace std;
int n, m, x;
int g[7];
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) cin >> x, g[x + 3]++;
int ans = 0;
for (int i = 0; i <= 6; i++) {
int tem = int (pow (i - 3, m) );
if (tem > 0) ans += tem*g[i];
}
cout<<ans;
return 0;
}