SGU 163.Wise King

一道题目长的水题。。。。

总结就一句话,给出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;
}

 

  

 

posted @ 2014-08-11 16:38  keambar  阅读(169)  评论(0)    收藏  举报