问题 AG: Van の 消消乐
时间限制: 1 Sec 内存限制: 128 MB
提交: 84 解决: 41
[状态] [提交] [命题人:31702411]
题目描述
Van最近迷上了一款叫做开心消消乐的小游戏,这个游戏的规则是这样的:
在每次开始游戏时,屏幕上会出现 n 个排列好的方块,每个方块有其所对应的权值 V 。
你可以做以下操作,每次操作分为两步:
1、在方块中选定一块方块 a 。
2、选择与 a 相邻的一块方块 b ,并且将 b 消去, Va 的值转化为 Va−Vb 。
在经过多次操作后,屏幕上只会存在一块唯一的方块,该方块的值则为这场游戏最后的得分。
现在Van想知道他能得到的最高分是多少。
输入
第一行为整数 T ,代表数据组数。
每组数据第一行为1个整数 n ,代表方块个数。
接下来一行有 n 个整数代表各个方块的权值 V ,每个数之间用空格隔开。
(1<=T<=100)
(1<=n<=100,000)
(−10,000<=Vi<=10,000)
(∑n<=1,000,000)
输出
对于每组数据,输出一个数字代表结果。
样例输入 Copy
2
3
1 1 0
4
3 4 -1 3
样例输出 Copy
2
11
提示
[提交][状态]
ZUCC-ACM-LAB 2019
#include<stdio.h>
int main()
{
int t,ma,v[111111],j,i,n,ii,su=0;
scanf("%d",&t);
for(ii=0;ii<t;ii++)
{
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&v[i]);
}
for(i=1;i<=n;i++)
{
if(v[i]<0)
{
v[i]=-v[i];
}
}
for(i=1;i<=n;i++)
{
su+=v[i];
}
printf("%d\n",su);
su=0;
}
}