水题,一开始看见AC的人也不算很多,以为有点难度。看完之后也是心惊肉跳,以为有什么陷阱。结果程序写完提交就AC了。。大概是题目稍微有点长愿意看下去的人比较少。。
题目就是给你一个指数m(m = 1, 2, 3),还有n个数(-3到3之间的整数),然后叫你选若干个数, 使求指定指数幂的和最大。
贴一下代码,熟悉一下cppblog环境。
#include <stdio.h>
#include <math.h>
int main(void) {
int n, m;
scanf ("%d%d", &n, &m);
int map[7];
int i;
for (i = -3; i <= 3; ++i) {
map[i+3] = (int)pow(i, m);
}
int sum = 0, s;
for (i = 0; i < n; ++i) {
scanf ("%d", &s);
if (map[s+3] > 0) {
sum += map[s+3];
}
}
printf ("%d\n", sum);
return 0;
}