一道题目长的水题。。。。
总结就一句话,给出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; }
SGU 163.Wise King
时间: 2024-10-06 23:37:52